--系統級的日期時間函數
Current_Timestamp
select Current_Timestamp-----獲取當前時間,精確到毫秒
DATEADD(datepart,number,date)
select DATEADD(mm,1,GETDATE())------獲取下個月的今天
select DATEADD(mm,-1,GETDATE())------獲取上個月的今天
DATEDIFF(datepart,startdate,enddate)
select DATEDIFF(dd,CAST('1989-12-18' as datetime),GETDATE())------獲取出生到現在過去
的天數
DATENAME(datepart,date)
select DATENAME(MM,GETDATE())------獲取現在是幾月份
DATEPART(datepart,date)
select DATEPART(yyyy,GETDATE()) AS OrderYear------獲取日期的部份信息
DAY(date)
select DAY(GETDATE()) AS Today-------獲取日期的 Day(整數類型)
GETDATE()-------獲取本地當前標準日期,精確到毫秒
GETUTCDATE()-------使用服务器上的时区设置来求出 UTC(國際標準)时间,比如本地時區
為+0800,則 GETUTCDATE() 相當于 select DATEADD(hh,-8,GETDATE())
與 Oracle 不同的是,Oracle 的時區信息是安裝時設定的,sqlserver 的時區信息是從操作系
統獲得
ISDATE(varchar)------傳入一個字符串格式的日期,返回一個整數
1:是日期格式
0:非日期格式
MONTH(date)
select MONTH(GETDATE()) AS CurMonth------獲取當前月(整數類型)
SYSDATETIME()-----返回运行 SQL Server 实例的服务器的本地时间(7 位整數),精確到
100 納秒,2008 版本新引入,具有不確定性,精准度由服務器硬件決定
SYSDATETIMEOFFSET()-----包含時區信息
SYSUTCDATETIME()------UTC 時間
SWITCHOFFSET(datetimeoffset, time_zone)------改變時區
TODATETIMEOFFSET()------為一個日期指定時區
select @date=TODATETIMEOFFSET('2014-4-12 13:00','+08:00')