千家信息网

SQL SERVER的日期与时间怎么查询

发表于:2024-10-13 作者:千家信息网编辑
千家信息网最后更新 2024年10月13日,这篇文章主要介绍"SQL SERVER的日期与时间怎么查询"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SQL SERVER的日期与时间怎么查询"文章能帮助大
千家信息网最后更新 2024年10月13日SQL SERVER的日期与时间怎么查询

这篇文章主要介绍"SQL SERVER的日期与时间怎么查询"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SQL SERVER的日期与时间怎么查询"文章能帮助大家解决问题。

常用的日期查询

----YYYY--当前年份第一天的前一天SELECT  TRUNC(SYSDATE,'yyyy') - 1 + 8 / 24 FROM DUAL---2019/12/31 上午 08:00:00--当前年份的第一天SELECT  TRUNC(SYSDATE,'yyyy')  + 8 / 24 FROM DUAL---2020/01/01 上午 08:00:00----MM--当前月的第一天SELECT  TRUNC(SYSDATE,'MM') - 1 + 8 / 24 FROM DUAL---2020/04/30 上午 08:00:00--当前月的第一天的前一天SELECT  TRUNC(SYSDATE,'MM')  + 8 / 24 FROM DUAL---2020/05/01 上午 08:00:00----DD--当前日的前一天SELECT  TRUNC(SYSDATE,'DD') - 1 + 8 / 24 FROM DUAL---2020/05/19 上午 08:00:00SELECT  TRUNC(SYSDATE) - 1 + 8 / 24 FROM DUAL---2020/5/19 上午 08:00:00--当前日SELECT  TRUNC(SYSDATE,'DD')  + 8 / 24 FROM DUAL---2020/05/20上午 08:00:00SELECT  TRUNC(SYSDATE) + 8 / 24  FROM DUAL ---2020/5/20 上午 08:00:00----D--当前星期的第一天SELECT  TRUNC(SYSDATE,'D') FROM DUAL---2020/05/17  当前星期的第一天 {是星期日哦}----HH--当前的时间,精确到小时SELECT  TRUNC(SYSDATE,'HH')  FROM DUAL---2020/05/20 下午 03:00:00--当前的时间的前一小时SELECT  TRUNC(SYSDATE,'HH')- 1/24 FROM DUAL---2020/05/20下午 02:00:00----MI--当前时间,精确到分SELECT  TRUNC(SYSDATE,'MI')  FROM DUAL---2020/05/20 下午 03:40:00--当前时间前一分钟SELECT  TRUNC(SYSDATE,'MI') -1/24/60 FROM DUAL---2020/05/20 下午 03:39:00---上周SELECT TO_CHAR(TRUNC(SYSDATE, 'IW') - 7, 'yyyymmdd') FROM DUALSELECT TO_CHAR(TRUNC(SYSDATE, 'IW') - 1, 'yyyymmdd') FROM DUAL---本周SELECT TO_CHAR(TRUNC(SYSDATE, 'IW') , 'yyyymmdd') FROM DUALSELECT TO_CHAR(TRUNC(SYSDATE, 'IW') + 6, 'yyyymmdd') FROM DUAL---上一月的第一天和最后一天select trunc(add_months(sysdate, -1), 'mm') first_day,       last_day(add_months(sysdate, -1)) last_day  from dual---本月的最后一天SELECT TO_CHAR(last_day(add_months(sysdate, 0)), 'yyyymmdd') FROM DUAL---当年 第一天SELECT TO_CHAR(trunc(sysdate, 'yyyy'), 'yyyymmdd') FROM DUAL---上年最后一天SELECT TO_CHAR(trunc(sysdate,'iyyy'), 'yyyymmdd') FROM DUAL---当月第一天SELECT TO_CHAR(trunc(sysdate,'mm'), 'yyyymmdd') FROM DUAL---当月数值SELECT TO_CHAR(sysdate,'mm') FROM DUAL---当周数值SELECT TO_CHAR(sysdate,'ww') FROM DUAL

时间查询的方法

1、获取当前时间

select  getdate()

2、截取需要的值

select datepart(year,getdate())select datepart(month,getdate())select datepart(day,getdate())select datepart(hour,getdate())select datepart(minute,getdate())select datepart(second,getdate())select datepart(week,getdate())

3、在日期中添加或减去指定的时间间隔

select dateadd(year,3,getdate()) --获取当前时间,往后推迟三年select dateadd(month,3,getdate()) --获取当前时间,往后推迟三个月select dateadd(day,3,getdate()) --获取当前时间,往后推迟三天select dateadd(hour,3,getdate()) --获取当前时间,往后推迟三小时select dateadd(minute,3,getdate()) --获取当前时间,往后推迟三分钟select dateadd(second,3,getdate()) --获取当前时间,往后推迟三秒钟

4、返回两个日期之间的时间

select datediff(year,'2020/11/30',getdate()) --2001-08-19和当前时间之间差多少年select datediff(month,'2020/11/30',getdate()) --2001-08-19和当前时间之间差多少月select datediff(day,'2020/11/30',getdate()) --2001-08-19和当前时间之间差多少天

5、用不同的格式显示日期/时间

select convert(char,getdate(),8)  --显示当前时:分:秒 "15:00:19"select convert(char,getdate(),10) --显示当前月-日-年,显示形式"12-01-20"select convert(char,getdate(),11) --显示当前年-月-日,显示形式"20/12/01"select convert(char,getdate(),14) --显示当前时-分-秒-毫秒,显示形式"14:58:06:340"--------select convert(varchar(100), GETDATE(), 111) -- 2020/12/01select convert(varchar(100), GETDATE(), 112) -- 20201201select convert(varchar(100), GETDATE(), 120) --2020-12-01 15:09:51select convert(varchar(100), GETDATE(), 121) --2020-12-01 15:10:03.717select convert(varchar(100), GETDATE(), 111)+' ' + convert(char,getdate(),8)--select convert(char,getdate(),8)

关于"SQL SERVER的日期与时间怎么查询"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0