SQL?SERVER常用的日期與時間查詢總結(jié)
更新時間:2022年04月14日 13:51:23 作者:農(nóng)碼一生
這篇文章介紹了SQL?SERVER常用日期與時間查詢的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
常用的日期查詢
----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)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- SQLServer日期函數(shù)總結(jié)案例詳解
- SQLServer 日期函數(shù)大全(小結(jié))
- SQL SERVER中常用日期函數(shù)的具體使用
- SqlServer 查詢時日期格式化語句
- SQL Server 日期相關(guān)資料詳細介紹
- sqlserver獲取當(dāng)前日期的最大時間值
- SQL Server 日期和時間的內(nèi)部存儲過程
- SqlServer 按時間段查詢問題
- SQL Server 獲取服務(wù)器時間的sql語句
- SQL Server時間戳功能與用法詳解
- sqlserver獲取各種形式的時間
- sql server查詢時間技巧分享
- SqlServer中的日期與時間函數(shù)
- Sqlserver 常用日期時間函數(shù)
相關(guān)文章
SQL Server誤區(qū)30日談 第8天 有關(guān)對索引進行在線操作的誤區(qū)
在線索引操作會在操作開始時和操作結(jié)束時對資源上短暫的鎖。這有可能導(dǎo)致嚴重的阻塞問題2013-01-01
SQL Server2019數(shù)據(jù)庫之簡單子查詢的具有方法
這篇文章主要介紹了SQL Server2019數(shù)據(jù)庫之簡單子查詢的具有方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SQL中varchar和nvarchar的基本介紹及其區(qū)別
varchar長度為 n 個字節(jié)的可變長度且非 Unicode 的字符數(shù)據(jù),nvarchar包含 n 個字符的可變長度 Unicode 字符數(shù)據(jù)2014-07-07

