本篇文章小编给大家分享一下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: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)
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔