1. to_date:日期时间转日期
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select to_date('2022-04-29 08:52:14.0'); 输出:2022-04-292. current_date :当前日期
命令:select current_date(); 输出:2022-04-303. date_sub : 返回日期前n天的日期
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select date_sub('2022-04-29 08:52:14.0',1); 输出:2022-04-28 命令:select date_sub('2022-05-01 08:52:14.0',1); 输出:2022-04-304. date_add : 返回日期后n天的日期
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select date_add('2022-04-29 08:52:14.0',1); 输出:2022-04-30 命令:select date_add('2022-04-30 08:52:14.0',1); 输出:2022-05-015. unix_timestamp:获取当前unix时间戳
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select unix_timestamp('2022-04-29 08:52:14.0'); 输出:16511935346. from_unixtime:转化unix时间戳到当前时区的时间格式
命令:select from_unixtime(1651193535,'yyyy-MM-dd HH:mm:ss.s'); 输出:2022-04-29 08:52:15.157.current_timestamp:当前的时间字符串
命令:select current_timestamp(); 输出:2022-04-30 10:23:18.0228. 获取日期的年、月、天、小时、分钟、秒
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select year('2022-04-29 08:52:14.0'); 输出:2022 命令:select month('2022-04-29 08:52:14.0'); 输出:4 命令:select day('2022-04-29 08:52:14.0'); 输出:29 命令:select hour('2022-04-29 08:52:14.0'); 输出:8 命令:select minute('2022-04-29 08:52:14.0'); 输出:52 命令:select second('2022-04-29 08:52:14.0'); 输出:149. trunc:为指定元素而截去的日期值
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select trunc('2022-04-29 08:52:14.0','YY'); 输出:2022-01-01 --当年的第一天 命令:select trunc('2022-04-29 08:52:14.0','MM'); 输出:2022-04-01 --当月的第一天10. datediff:返回开始日期减去结束日期的天数
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select datediff('2022-04-29 08:52:14.0','2022-04-28 08:52:14.0'); 输出:111. next_day:得到一个字符串日期的下周几的具体日期
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select next_day('2022-04-29','sunday'); 输出:2022-05-01 命令:select next_day('2022-04-29','sun'); 输出:2022-05-0112. last_day:当月的最后一天日期
-- 注:日期字符串必须满足yyyy-MM-dd格式 命令:select last_day('2022-04-29'); 输出:2022-04-3013. months_between:返回开始日期减去结束日期的月数
-- 注:日期字符串必须满足yyyy-MM-dd格式 ----得到的结果不是相差自然月,而是按相差天数得到的相对月份 命令:select months_between(to_date('2022-04-05'), to_date('2022-03-29')); 输出:0.22580644999999999 命令:select months_between(to_date('2022-04-30'), to_date('2022-03-29')); 输出:1.03225806 ----用floor函数向下取整 命令:select floor(months_between(to_date('2022-04-05'), to_date('2022-03-29'))); 输出:0 命令:select floor(months_between(to_date('2022-04-30'), to_date('2022-03-29'))); 输出:1 --用时间戳格式转化一下,以得到相差自然月 命令:select months_between(from_unixtime(unix_timestamp('2022-04-05','yyyy-MM'),'yyyy-MM-dd'), from_unixtime(unix_timestamp('2022-03-29','yyyy-MM'),'yyyy-MM-dd')); 输出:1ps:初衷是通过撰写博文记录自己所学所用,实现知识的梳理与积累;将其分享,希望能够帮到面临同样困惑的小伙伴儿。如发现博文中存在问题,欢迎随时交流~~
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #hive中的日期函数 #1 #to_date日期时间转日期 #to_date20220429 #current_date #当前日期命令select