一、取年周

按照习惯,跨年的周中的在哪一年的天数多就算哪一年的周,所以日期所在的年不一定是周所在的年,比如2016-01-01是2015年53周。

可以通过以下sql判断跨年的周属于哪一年,实现得到前一天所在的年周

select year(date_sub(next_day(date_sub(current_date,1),'MO'),4))*100+weekofyear(date_sub(current_date,1));

例如:今天是2019-03-02,前一天是2019-03-01,是第201909周。

二、算周几

根据一个日期算它是一周中的星期几

大部分的算法是:

-- ${date}为日期参数
pmod(datediff(${date}, '1920-01-01') - 3, 7)

既某个日期和一个已知周几的日期相差的天数除以一周7天,余数既为周几,但是这样周一至周六分别为1-6,但周日就会为0,所以将周日变成我们习惯的7可以这样写:

-- ${date}为日期参数
IF(pmod(datediff(${date}, '1920-01-01') - 3, 7)='0', 7, pmod(datediff(${date}, '1920-01-01') - 3, 7))

这里还有一种本人常用的方法:

-- ${date}为日期参数
-- next_day(${date},'MO')为下周一的日期8-datediff(next_day(${date},'MO'),${date})

hive根据日期算哪一年的第几周(年周)以及算周几星期几相关推荐

  1. MYSQL || 的BUG // MYSQL 不同库自增id的问题 //MySQL根据表注释查找对应的表 //hive -mysql 日期比较

    MYSQL 中的|| 与oracle 的concat 含义不同,它的含义是 or delete from table where 1=1 and code ='CW1111' and period_w ...

  2. Hive months_between(日期相减不正确处理)

    Hive months_between(日期相减不正确处理) select floor(months_between('2022-02-28', '2022-01-28')); OK _c0 1 Ti ...

  3. js获取日期周数,并根据周数算出当前周的开始和结束日期(周日开始,周六结束)

    js获取日期周数,并根据周数算出当前周的开始和结束日期(周日开始,周六结束) 日历图片 代码 获取日期的周数(全年的第几周) 根据周数获取该周的开始日期(周日)和结束日期(周六) 日历图片 代码 获取 ...

  4. hive中日期格式转换

    hive中日期格式转换 日期时间格式大致分成时间戳和日期时间格式互转,字符串转化成日期时间格式,日期格式之间的转化 一.时间戳和日期互转 1.unix_timestamp函数,日期转时间戳 当函数参数 ...

  5. hive生成日期维度表Hql

    hive生成日期维度表 利用现有的函数,生成维度表 表结构 日期key 具体日期 第几月份 第几季度 年份 周几 当前周的第几天 当前月的第几天 当前年的第几天 当前年的第几周 当前周的第一天 当前周 ...

  6. 【hive 日期函数】Hive常用日期函数整理

    1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12'); 输出:2015-04-02 1 2 2.from_unixtime:转化unix时 ...

  7. 【hive 日期函数 大全】Hive常用日期函数整理 史上最全

    [hive 日期函数 大全]Hive常用日期函数整理注意:1) hive 没有 to_char函数 2) HIVE 日期函数只识别 年-月-日 不能识别 年-月 ,所以处理月份的时候需要特殊处理1)h ...

  8. java日期加减秒_Java日期——年、月、日、时、分、秒、周加减计算

    Java日期--年.月.日.时.分.秒.周加减计算 Java日期--年.月.日.时.分.秒.周加减计算 1.Pom依赖 joda-time joda-time 2.9.9 2.示例代码 package ...

  9. 怎样用计算机算出圆周率,古代没有计算机的时代 祖冲之是如何算出圆周率的...

    原标题:古代没有计算机的时代 祖冲之是如何算出圆周率的 今天趣历史小编就给大家带来祖冲之的文章,希望能对大家有所帮助. 祖冲之,提起这个名字大家首先想到的就是圆周率,因为,圆周率是祖冲之的代表性成果. ...

最新文章

  1. java编程 linux_Linux下java编程
  2. QML的默认属性default property
  3. php注册登录遍写入 遍验证,在文件指定行中写入内容的php...-自动注册登录验证机制的php代...-php中出现Undefined index报错的修复方法_169IT.COM...
  4. 打造杰出软件开发团队的12条指导建议
  5. 支付宝瓜分9亿,20倍大概能分到多少钱?
  6. 高德地图怎么搜索marker_2018-07-06 高德地图搜索定位,滑动地图显示周边信息,根据地址搜经...
  7. 小米POCO X3今日亮相:首发骁龙732G后置6400万四摄
  8. 【云计算】docker registry v2简介
  9. android 编译api,Android逆向利器,直接将apk转换为可二次开发Android工程,提供So hook Api,......
  10. nes 红白机模拟器 第4篇 linux 手柄驱动支持
  11. libpng的使用 | 在Linux系统下编译、安装与使用
  12. 使用 VBRichClient 库
  13. 一点感悟: 詹姆斯与全栈工程师
  14. 解决vmware不能上网的问题
  15. java调试步骤_Java程序的开发过程及基本调试方法
  16. 数值算法之adjacent_difference
  17. Android源码开发之蓝牙通知振动
  18. 1994年的计算机安全法规,1994年2月18日,我国颁布了(),这是我国第一个计算机安全法规,是我国计算机安全工作的总体纲领。...
  19. 轻量级网络 - PVANet SuffleNet
  20. 线程池、volatile、原子性、并发工具类

热门文章

  1. 转载:Think in AngularJS:对比jQuery和AngularJS的不同思维模式(大漠穷秋)
  2. 大漠穷秋叫狼哥哥要学好的书
  3. 史上最经典的10大反间计
  4. 8种隔夜食物千万不要吃
  5. 大作业-电影推荐系统
  6. python scapy抓取http报文内容
  7. 测试眉形的有哪个软件_适合眉毛的软件
  8. Google Earth Engine——可视化的美国加州圣华金河流域的100年气候预测模型
  9. 前端开发--箭头函数
  10. 突然讨厌做前端,讨厌代码_如何安全清洁讨厌的游戏控制器