数据库教程:SQL SERVER常用的日期与时间查询总结

常用的日期查询—-yyyy–当前年份第一天的前一天select trunc(sysdate,’yyyy’) – 1 + 8 / 24 from dual—2019/12/31 上午 08


常用的日期查询

----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:00  select  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:00  select  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 dual  select to_char(trunc(sysdate, 'iw') - 1, 'yyyymmdd') from dual    ---本周  select to_char(trunc(sysdate, 'iw') , 'yyyymmdd') from dual  select 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/01  select convert(varchar(100), getdate(), 112) -- 20201201    select convert(varchar(100), getdate(), 120) --2020-12-01 15:09:51  select convert(varchar(100), getdate(), 121) --2020-12-01 15:10:03.717      select convert(varchar(100), getdate(), 111)+' ' + convert(char,getdate(),8)    --select convert(char,getdate(),8)

以上就是数据库技术:SQL SERVER常用的日期与时间查询总结的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

需要了解更多数据库技术:SQL SERVER常用的日期与时间查询总结,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/1090835.html

(0)
上一篇 2022年5月9日
下一篇 2022年5月9日

精彩推荐