SqlServer常見的日期處理


1.Convert() 函數是把日期轉換為新數據類型的通用函數

語法:CONVERT(data_type(length),data_to_be_converted,style)

常用的日期格式

select convert(nvarchar,getdate(),111) 2021/09/23
select convert(nvarchar,getdate(),112) 20210923
select convert(nvarchar,getdate(),120) 2021-09-23 09:31:16
select convert(nvarchar,getdate(),111) 2021-09-23 09:31:16:030

2.DATEDIFF() 函數返回兩個日期之間的時間

語法 DATEDIFF(datepart,startdate,enddate)

常用的時間差

當日:
SELECT * FROM UserTable WHERE DATEDIFF(DAY, StartTime, GETDATE())=0

當月:
SELECT * FROM UserTable WHERE DATEDIFF(MONTH, StartTime, GETDATE())=0

當季:
SELECT * FROM UserTable WHERE DATEDIFF(QQ, StartTime, GETDATE())=0

當年:
SELECT * FROM UserTable WHERE DATEDIFF(YEAR, StartTime, GETDATE())=0

獲取前一天、月、季度或年等,函數等於1。
獲取后一天、月、季度或年等,函數等於-1

3.DATEADD() 函數 在日期中添加或減去指定的時間間隔

語法 :DATEADD(datepart,number,date)

date 參數是合法的日期表達式。number 是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數

減2天
select dateadd(day,-2,'2021-09-23') 2021-09-21 00:00:00.000
加2天
select dateadd(day,-2,'2021-09-23') 2021-09-25 00:00:00.000
例:還書日期延長一周
update TAB set endtime =dateadd(week,1,endtime)

4.DATEPART() 函數 用於返回日期/時間的單獨部分,比如年、月、日、小時、分鍾等等。

select datepart(yyyy,getdate()) [year],datepart(month,getdate()) [month],datepart(day,getdate()) [day] 
結果:2021 9 23

5.DATENAME() 函數 返回代表指定日期的指定日期部分的字符串 

select datename(yyyy,getdate()) [year],datename(month,getdate()) [month],datename(day,getdate()) [day],datename(weekday,getdate()) [wekday] 

結果 2019 9 23 星期四

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM