溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL?SERVER的日期與時間怎么查詢

發(fā)布時間:2022-04-14 15:27:00 來源:億速云 閱讀:160 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“SQL SERVER的日期與時間怎么查詢”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“SQL SERVER的日期與時間怎么查詢”文章能幫助大家解決問題。

常用的日期查詢

----YYYY
--當(dāng)前年份第一天的前一天
SELECT  TRUNC(SYSDATE,'yyyy') - 1 + 8 / 24 FROM DUAL---2019/12/31 上午 08:00:00
--當(dāng)前年份的第一天
SELECT  TRUNC(SYSDATE,'yyyy')  + 8 / 24 FROM DUAL---2020/01/01 上午 08:00:00

----MM
--當(dāng)前月的第一天
SELECT  TRUNC(SYSDATE,'MM') - 1 + 8 / 24 FROM DUAL---2020/04/30 上午 08:00:00
--當(dāng)前月的第一天的前一天
SELECT  TRUNC(SYSDATE,'MM')  + 8 / 24 FROM DUAL---2020/05/01 上午 08:00:00

----DD
--當(dāng)前日的前一天
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
--當(dāng)前日
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
--當(dāng)前星期的第一天
SELECT  TRUNC(SYSDATE,'D') FROM DUAL---2020/05/17  當(dāng)前星期的第一天 {是星期日哦}

----HH
--當(dāng)前的時間,精確到小時
SELECT  TRUNC(SYSDATE,'HH')  FROM DUAL---2020/05/20 下午 03:00:00
--當(dāng)前的時間的前一小時
SELECT  TRUNC(SYSDATE,'HH')- 1/24 FROM DUAL---2020/05/20下午 02:00:00

----MI
--當(dāng)前時間,精確到分
SELECT  TRUNC(SYSDATE,'MI')  FROM DUAL---2020/05/20 下午 03:40:00
--當(dāng)前時間前一分鐘
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

---當(dāng)年 第一天
SELECT TO_CHAR(trunc(sysdate, 'yyyy'), 'yyyymmdd') FROM DUAL
---上年最后一天
SELECT TO_CHAR(trunc(sysdate,'iyyy'), 'yyyymmdd') FROM DUAL

---當(dāng)月第一天
SELECT TO_CHAR(trunc(sysdate,'mm'), 'yyyymmdd') FROM DUAL
---當(dāng)月數(shù)值
SELECT TO_CHAR(sysdate,'mm') FROM DUAL

---當(dāng)周數(shù)值
SELECT TO_CHAR(sysdate,'ww') FROM DUAL

時間查詢的方法

1、獲取當(dāng)前時間 

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()) --獲取當(dāng)前時間,往后推遲三年

select dateadd(month,3,getdate()) --獲取當(dāng)前時間,往后推遲三個月

select dateadd(day,3,getdate()) --獲取當(dāng)前時間,往后推遲三天

select dateadd(hour,3,getdate()) --獲取當(dāng)前時間,往后推遲三小時

select dateadd(minute,3,getdate()) --獲取當(dāng)前時間,往后推遲三分鐘

select dateadd(second,3,getdate()) --獲取當(dāng)前時間,往后推遲三秒鐘

4、返回兩個日期之間的時間

select datediff(year,'2020/11/30',getdate()) --2001-08-19和當(dāng)前時間之間差多少年

select datediff(month,'2020/11/30',getdate()) --2001-08-19和當(dāng)前時間之間差多少月

select datediff(day,'2020/11/30',getdate()) --2001-08-19和當(dāng)前時間之間差多少天

5、用不同的格式顯示日期/時間

select convert(char,getdate(),8)  --顯示當(dāng)前時:分:秒 "15:00:19"

select convert(char,getdate(),10) --顯示當(dāng)前月-日-年,顯示形式“12-01-20”

select convert(char,getdate(),11) --顯示當(dāng)前年-月-日,顯示形式“20/12/01”


select convert(char,getdate(),14) --顯示當(dāng)前時-分-秒-毫秒,顯示形式“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)

關(guān)于“SQL SERVER的日期與時間怎么查詢”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI