sql中常用的日期转换
短信预约 -IT技能 免费直播动态提醒
一、sqlserver日期时间转换
1、常用格式转换(当前时间:2023-02-10)
Select CONVERT(varchar(100), GETDATE(), 8) -- 10:57:46 Select CONVERT(varchar(100), GETDATE(), 14) -- 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20) -- 2023-02-10 10:57:47Select CONVERT(varchar(100), GETDATE(), 21) -- 2023-02-10 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 23) -- 2023-02-10Select CONVERT(varchar(100), GETDATE(), 24) -- 10:57:47Select CONVERT(varchar(100), GETDATE(), 25) -- 2023-02-10 10:57:47.250 Select CONVERT(varchar(100), GETDATE(), 102) -- 2023.02.10 Select CONVERT(varchar(100), GETDATE(), 108) -- 10:57:49 Select CONVERT(varchar(100), GETDATE(), 111) -- 2023/02/10Select CONVERT(varchar(100), GETDATE(), 112) -- 20230210Select CONVERT(varchar(100), GETDATE(), 120) -- 2023-02-10 10:57:49Select CONVERT(varchar(100), GETDATE(), 121) -- 2023-02-10 10:57:49.700
2、获取不同时间日期
-- 上个月一号select dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate()))-- 上月月底select dateadd(dd,-day(getdate()),getdate()) -- 上月当天select dateadd(month,-1,getdate()) -- 本月一号select dateadd(dd,-day(getdate())+1,getdate()) -- 本月底select dateadd(dd,-day(dateadd(month,1,getdate())),dateadd(month,1,getdate())) -- 下月一号select dateadd(dd,-day(dateadd(month,1,getdate()))+1,dateadd(month,1,getdate())) -- 下月月底select dateadd(dd,-day(dateadd(month,2,getdate())),dateadd(month,2,getdate()))
二、odps sql日期转换
-- TO_DATE:字符串转日期-- 前后格式要一样 select TO_DATE('2023-02-10 00:00:00','yyyy-mm-dd');-- 报错 select TO_DATE('2023-02-10','yyyy-mm-dd');-- 2023-02-10 00:00:00 select TO_DATE('2023@02@10','yyyy@mm@dd');-- 2023-02-10 00:00:00 select date(TO_DATE('20230210','yyyymmdd'));-- 2023-02-10 -- TO_CHAR:日期转字符串,把日期转成后面格式的字符串 select TO_CHAR('20230210','yyyymmdd');-- 报错,前面必须要是日期格式 select TO_CHAR(TO_DATE('20230210','yyyymmdd'),'yyyy/mm/dd');-- 2023/02/10 select TO_CHAR(TO_DATE('20230210','yyyymmdd'),'yyyy-mm-dd');-- 2023-02-10
三、postgresql日期转换
-- 日期:下个月当天 2023-03-10SELECT to_date((to_char(( now() + interval '1 month'),'YYYY-MM-DD')),'YYYY-MM-DD')-- 日期:下个月第一天 2023-03-01SELECT to_date((to_char(( now() + interval '1 month'),'YYYY-MM-01')),'YYYY-MM-DD')-- 日期:上个月第一天 2023-01-01SELECT to_date((to_char(( now() + interval '-1 month'),'YYYY-MM-01')),'YYYY-MM-DD')-- 日期:本月底 2023-02-28SELECT (to_date((to_char(( now() + interval '1 month'),'YYYY-MM-01')),'YYYY-MM-DD')-1)::date
来源地址:https://blog.csdn.net/hubinbin19971003/article/details/129067174
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341