1. 程式人生 > 實用技巧 >MSSQL系列 (四):系統函式之日期和時間函式

MSSQL系列 (四):系統函式之日期和時間函式

1.current_timestamp :獲取資料庫系統時間戳

--獲取資料庫系統時間戳
select current_timestamp
go

2.getdate() :獲取資料庫系統時間戳

--獲取資料庫系統時間戳
select getdate()
go

3.getutcdate() :獲取utc時間

--獲取utc時間
select getutcdate()
go

4.sysdatetime() :獲取計算機的日期和時間的 datetime2(7) 值

--獲取計算機的日期和時間的 datetime2(7) 值
--與 getdate比較而言,sysdatetime的秒的小數部分精度更高。
select sysdatetime() go

5.sysdatetimeoffset() :獲取計算機的日期和時間的 datetime(7) 值, 時區偏移量包含在內

--獲取計算機的日期和時間的 datetime(7) 值, 時區偏移量包含在內
select sysdatetimeoffset()
go

6.sysutcdatetime() :獲取計算機的日期和時間的 datetime2(7) 值,utc時間

--獲取計算機的日期和時間的 datetime2(7) 值,utc時間
select sysutcdatetime()
go

7.year() :獲取指定日期的年份

--獲取指定日期的年份
select year('2020-07-01')
go

8.month() :獲取指定日期的月份

--獲取指定日期的月份
select month('2020-07-01')
go

9.day() :獲取指定日期的日

--獲取指定日期的日
select day('2020-07-01')
go

10.isdate() :判斷是否是日期,不是返回0,是返回1

--判斷是否是日期,不是返回0,是返回1
select isdate('dfsfs')
select isdate('2020-07-01')
go

11.switchoffset() :獲取從儲存的時區偏移量變為指定的新時區偏移量時得到的 datetimeoffset 值

--獲取從儲存的時區偏移量變為指定的新時區偏移量時得到的 datetimeoffset 值 
select switchoffset(SYSDATETIMEOFFSET(),'-08:00')
go

12.todatetimeoffset() :獲取從 datetime2 表示式轉換的 datetimeoffset 值

--獲取從 datetime2 表示式轉換的 datetimeoffset 值
select todatetimeoffset(getdate(),'-08:00')
go

13.dateadd() :將指定的數值新增到日期部分後的日期

--將指定的數值新增到日期部分後的日期
select dateadd(hh,5,'2020-07-01 10:30')
go

14.datediff() :獲取兩個日期的指定日期部分的區別

--獲取兩個日期的指定日期部分的區別
select datediff(day,'2020-07-01','2020-08-01')
go

15.datename() :日期中指定日期部分的字串形式

--日期中指定日期部分的字串形式
select datename(dw,'2020-07-20')
go

16.datepart() :獲取日期中指定日期部分的整數形式

--獲取日期中指定日期部分的整數形式
select datepart(day,'2020-07-20')
go

ps:所有的

--獲取資料庫系統時間戳
select current_timestamp
go
--獲取資料庫系統時間戳
select getdate()
go
--獲取utc時間
select getutcdate()
go
--獲取計算機的日期和時間的 datetime2(7) 值
--與 getdate比較而言,sysdatetime的秒的小數部分精度更高。
select sysdatetime()
go
--獲取計算機的日期和時間的 datetime(7) 值, 時區偏移量包含在內
select sysdatetimeoffset()
go
--獲取計算機的日期和時間的 datetime2(7) 值,utc時間
select sysutcdatetime()
go
--獲取指定日期的年份
select year('2020-07-01')
go
--獲取指定日期的月份
select month('2020-07-01')
go
--獲取指定日期的日
select day('2020-07-01')
go
--判斷是否是日期,不是返回0,是返回1
select isdate('dfsfs')
select isdate('2020-07-01')
go
--獲取從儲存的時區偏移量變為指定的新時區偏移量時得到的 datetimeoffset 值 
select switchoffset(SYSDATETIMEOFFSET(),'-08:00')
go
--獲取從 datetime2 表示式轉換的 datetimeoffset 值
select todatetimeoffset(getdate(),'-08:00')
go
--將指定的數值新增到日期部分後的日期
select dateadd(hh,5,'2020-07-01 10:30')
go
--獲取兩個日期的指定日期部分的區別
select datediff(day,'2020-07-01','2020-08-01')
go
--日期中指定日期部分的字串形式
select datename(dw,'2020-07-20')
go
--獲取日期中指定日期部分的整數形式
select datepart(day,'2020-07-20')
go