**

SQL日期函数汇总

**

1、 to date:日期时间转日期函数 select to date(‘2015-04-02 13:34:12’);
输出: 2015-04-02

2、from unixtime:转化unix时间戳到当前时区的时间格式 select from_unixtime(1323308943,‘yyyyMMdd’);
输出:20111208

3、 unix_timestamp:获取当前unix时间戳 select unix_timestamp(); 40Hi:
1430816254 select unix_timestamp(‘2015-04-3013:51:20’);
输出:1430373080

4、 year:返回日期中的年 select year (‘2015-04-02 11:32:12’):
输出: 2015

5、month:返回日期中的月份 select month(‘2015-12-02 11:32:12’) ;
输出:12

6、day:返回日期中的天 select day (‘2015-04-13 11:32:12’);
输出:13

7、hour:返回日期中的小时 select hour (‘2015-04-13 11:32:12’);
输出:11

8、minute:返回日期中的分钟 select minute(‘2015-04-13 11:32:12’);
输出: 32

9、second:返回日期中的秒 select second (‘2015-04-13 11:32:56’);
输出:56

10、weekofyear:返回日期在当前周数 select weekofyear (‘2015-05-05 12:11:1’) ;
输出:19

11、 datediff:返回开始日期减去结束日期的天数 select datediff (‘2015-04-09’,
‘2015-04-01’) ;
输出:8

12、date sub:返回日期前n天的目期 select date sub(‘2015-04-09’,4);
输出: 2015-04-05

13、dateadd:返回日期后n天的日期 select date_add('2015-04-09’,4);
输出:2015-04-13

15: Hive中取最近30天数据 select datediff(CURRENT_TIMESTAMP,gmt_create)<=30

16、Hive中 两个日期相差多少小时 select (unix_timestamp(‘2018-05-2512:03:55’) unix timestamp('2018-05-25 11:03:55°)) /3600
输出:1

17、Hive中 两个日期相差多少分钟 select (unix_timestamp(‘2018-05-25 12:03:55’) - unix timestamp (‘2018-05-25 11:03:55’))/60
输出:60

18、hive 计算某一个日期属于星期几,如2018-05-20日 是星期日 SELECT IF (pmod (datediff(‘2018-05-20’,‘1920-01-01’) - 3, 7) = ‘0’ ,7,pmod(datediff('2018-05-20",‘1920-01-01’)-3,7))
输出:7

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐