加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL SERVER日期查询方法及设置是什么

发布时间:2023-05-19 15:43:16 所属栏目:MsSql教程 来源:
导读:本篇内容介绍了“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: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)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章