一、日期和時間數據類型
在SQL Server中,日期和時間數據類型是一個非常重要的概念。常見的日期和時間數據類型有date、time、datetime、smalldatetime、datetime2、datetimeoffset等。
其中,date數據類型表示日期,不包含時間部分;time數據類型表示一天中的具體時間,不包含日期部分;datetime數據類型表示日期和時間,精度為1/300秒;smalldatetime數據類型表示日期和時間,只能表示1900年1月1日至2079年6月6日之間的日期時間,精度為1分鐘。
datetime2數據類型表示日期和時間,精確到100納秒,可表示範圍為1753年1月1日至9999年12月31日的日期時間。而datetimeoffset數據類型除了包含日期和時間之外,還包括與格林威治時間的差距。
二、日期和時間格式
在SQL Server中,日期和時間的表示方式有多種格式。常見的日期和時間格式有:
1. yyyy-MM-dd HH:mm:ss
2. yyyyMMdd HH:mm:ss
3. yyyy/MM/dd HH:mm:ss
4. yyyy年MM月dd日 HH時mm分ss秒
其中,第一種格式所代表的含義分別是:年(四位數)、月(兩位數)、日(兩位數)、小時(24小時制,兩位數)、分鐘(兩位數)、秒(兩位數)。
其他格式與此類似,只是分隔符不同。
三、日期和時間函數
在SQL Server中,日期和時間函數能夠對日期和時間進行各種操作,非常實用。常見的日期和時間函數有:
1. GETDATE()
GETDATE()函數返回當前系統日期和時間。
SELECT GETDATE() --2021-12-13 20:16:52.787
2. DATEPART()
DATEPART函數返回日期和時間的各個部分值,例如年、月、日、小時、分鐘等。
SELECT DATEPART(year, GETDATE()) --2021 SELECT DATEPART(month, GETDATE()) --12
3. CONVERT()
CONVERT函數用於將一個日期和時間數據類型轉換為另一種數據類型,常見的轉換格式有:
1. CONVERT(varchar(20), GETDATE(), 120)
2. CONVERT(varchar(20), GETDATE(), 112)
3. CONVERT(varchar(20), GETDATE(), 111)
其中,轉換格式表示的含義和日期時間格式類似。
四、日期和時間運算
在SQL Server中,日期和時間運算也是非常常見的操作。常見的運算包括:
1. DATEADD()
DATEADD函數用於在日期和時間上增加或減少一定的時間間隔。
SELECT DATEADD(day, 7, GETDATE()) --2021-12-20 20:16:52.787 SELECT DATEADD(hour, -3, GETDATE()) --2021-12-13 17:16:52.787
2. DATEDIFF()
DATEDIFF函數用於計算兩個日期之間的時間間隔。
SELECT DATEDIFF(day, '2021-12-01', '2021-12-31') --30 SELECT DATEDIFF(hour, '2021-12-13 10:00:00', '2021-12-13 12:00:00') --2
3. DATEPART()
DATEPART函數在日期和時間運算中也是非常實用的,例如計算一周的第幾天。
SELECT DATEPART(weekday, '2021-12-13') --2
五、總結
SQL Server中的日期和時間數據類型、格式、函數、運算非常豐富實用,能夠滿足各種不同的業務需求。
原創文章,作者:UYCIL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331758.html