常用的日期查询
----YYYY
--当前年份第一天的前一天
SELECTTRUNC(SYSDATE,'yyyy')-1+8/24FROMDUAL---2019/12/31上午08:00:00
--当前年份的第一天
SELECTTRUNC(SYSDATE,'yyyy')+8/24FROMDUAL---2020/01/01上午08:00:00
----MM
--当前月的第一天
SELECTTRUNC(SYSDATE,'MM')-1+8/24FROMDUAL---2020/04/30上午08:00:00
--当前月的第一天的前一天
SELECTTRUNC(SYSDATE,'MM')+8/24FROMDUAL---2020/05/01上午08:00:00
----DD
--当前日的前一天
SELECTTRUNC(SYSDATE,'DD')-1+8/24FROMDUAL---2020/05/19上午08:00:00
SELECTTRUNC(SYSDATE)-1+8/24FROMDUAL---2020/5/19上午08:00:00
--当前日
SELECTTRUNC(SYSDATE,'DD')+8/24FROMDUAL---2020/05/20上午08:00:00
SELECTTRUNC(SYSDATE)+8/24FROMDUAL---2020/5/20上午08:00:00
----D
--当前星期的第一天
SELECTTRUNC(SYSDATE,'D')FROMDUAL---2020/05/17当前星期的第一天{是星期日哦}
----HH
--当前的时间,精确到小时
SELECTTRUNC(SYSDATE,'HH')FROMDUAL---2020/05/20下午03:00:00
--当前的时间的前一小时
SELECTTRUNC(SYSDATE,'HH')-1/24FROMDUAL---2020/05/20下午02:00:00
----MI
--当前时间,精确到分
SELECTTRUNC(SYSDATE,'MI')FROMDUAL---2020/05/20下午03:40:00
--当前时间前一分钟
SELECTTRUNC(SYSDATE,'MI')-1/24/60FROMDUAL---2020/05/20下午03:39:00
---上周
SELECTTO_CHAR(TRUNC(SYSDATE,'IW')-7,'yyyymmdd')FROMDUAL
SELECTTO_CHAR(TRUNC(SYSDATE,'IW')-1,'yyyymmdd')FROMDUAL
---本周
SELECTTO_CHAR(TRUNC(SYSDATE,'IW'),'yyyymmdd')FROMDUAL
SELECTTO_CHAR(TRUNC(SYSDATE,'IW')+6,'yyyymmdd')FROMDUAL
---上一月的第一天和最后一天
selecttrunc(add_months(sysdate,-1),'mm')first_day,
last_day(add_months(sysdate,-1))last_day
fromdual
---本月的最后一天
SELECTTO_CHAR(last_day(add_months(sysdate,0)),'yyyymmdd')FROMDUAL
---当年第一天
SELECTTO_CHAR(trunc(sysdate,'yyyy'),'yyyymmdd')FROMDUAL
---上年最后一天
SELECTTO_CHAR(trunc(sysdate,'iyyy'),'yyyymmdd')FROMDUAL
---当月第一天
SELECTTO_CHAR(trunc(sysdate,'mm'),'yyyymmdd')FROMDUAL
---当月数值
SELECTTO_CHAR(sysdate,'mm')FROMDUAL
---当周数值
SELECTTO_CHAR(sysdate,'ww')FROMDUAL
时间查询的方法
1、获取当前时间
selectgetdate()
2、截取需要的值
selectdatepart(year,getdate())
selectdatepart(month,getdate())
selectdatepart(day,getdate())
selectdatepart(hour,getdate())
selectdatepart(minute,getdate())
selectdatepart(second,getdate())
selectdatepart(week,getdate())
3、在日期中添加或减去指定的时间间隔
selectdateadd(year,3,getdate())--获取当前时间,往后推迟三年
selectdateadd(month,3,getdate())--获取当前时间,往后推迟三个月
selectdateadd(day,3,getdate())--获取当前时间,往后推迟三天
selectdateadd(hour,3,getdate())--获取当前时间,往后推迟三小时
selectdateadd(minute,3,getdate())--获取当前时间,往后推迟三分钟
selectdateadd(second,3,getdate())--获取当前时间,往后推迟三秒钟
4、返回两个日期之间的时间
selectdatediff(year,'2020/11/30',getdate())--2001-08-19和当前时间之间差多少年
selectdatediff(month,'2020/11/30',getdate())--2001-08-19和当前时间之间差多少月
selectdatediff(day,'2020/11/30',getdate())--2001-08-19和当前时间之间差多少天
5、用不同的格式显示日期/时间
selectconvert(char,getdate(),8)--显示当前时:分:秒"15:00:19"
selectconvert(char,getdate(),10)--显示当前月-日-年,显示形式“12-01-20”
selectconvert(char,getdate(),11)--显示当前年-月-日,显示形式“20/12/01”
selectconvert(char,getdate(),14)--显示当前时-分-秒-毫秒,显示形式“14:58:06:340"
--------
selectconvert(varchar(100),GETDATE(),111)--2020/12/01
selectconvert(varchar(100),GETDATE(),112)--20201201
selectconvert(varchar(100),GETDATE(),120)--2020-12-0115:09:51
selectconvert(varchar(100),GETDATE(),121)--2020-12-0115:10:03.717
selectconvert(varchar(100),GETDATE(),111)+''+convert(char,getdate(),8)
--selectconvert(char,getdate(),8)
|