共用方式為


日期及時間函式

.NET Framework Data Provider for SQL Server (SqlClient) 提供了日期和時間函式,這些函式會在 System.DateTime 輸入值上執行作業,並傳回 string、數值或 System.DateTime 值結果。 這些函式位於您使用 SqlClient 時可以使用的 SqlServer 命名空間 (Namespace) 內。 提供者命名空間屬性可以讓 Entity Framework 了解此提供者對特定建構 (例如型別和函式) 所使用的前置詞。 下表顯示 SqlClient 日期和時間函式。

函式 描述
DATEADD(datepart, number, date) 傳回新的 DateTime 值,這個值是以加入間隔至指定的日期為根據。

引數

datepart:代表要傳回新值之日期部分的 String

number:用來遞增 Int32Int64DecimalDoubledatepart 值。

date: 這是傳回 DateTimeDateTimeOffsetTime (精確度 = [0-7]) 或日期格式之字元字串的運算式。

傳回值

新的 DateTimeDateTimeOffsetTime 值 (精確度 = [0-7])。

範例

SqlServer.DATEADD('day', 22, cast('6/9/2006' as DateTime))
DATEDIFF(datepart,startdate,enddate) 傳回跨越兩個指定日期的日期和時間界線數目。

引數

datepart:代表要計算差異之日期部分的 String

startdate:計算的開始日期是傳回 DateTimeDateTimeOffsetTime 值 (精確度 = [0-7]) 或日期格式之字元字串的運算式。

enddate: 計算的結束日期是傳回 DateTimeDateTimeOffsetTime 值 (精確度 = [0-7]) 或日期格式之字元字串的運算式。

傳回值

Int32

範例

SqlServer.DATEDIFF('day', cast('6/9/2006' as DateTime),

cast('6/20/2006' as DateTime))
DATENAME(datepart, date) 傳回字元字串,代表指定日期的指定 datepart。

引數

datepart:代表要傳回新值之日期部分的 String

date:這是傳回 DateTime,DateTimeOffsetTime 值 (精確度 = [0-7]) 或日期格式之字元字串的運算式。

傳回值

代表指定日期之指定日期部分的字元字串。

範例

SqlServer.DATENAME('year', cast('6/9/2006' as DateTime))
DATEPART(datepart, date) 傳回代表指定日期之指定 datepart 的整數。

引數

datepart:代表要傳回新值之日期部分的 String

date:這是傳回 DateTime,DateTimeOffset,Time 值 (精確度 = [0-7]) 或日期格式之字元字串的運算式。

傳回值

指定日期的指定日期部分,當做 Int32

範例

SqlServer.DATEPART('year', cast('6/9/2006' as DateTime))
DAY(date) 以整數形式傳回指定之日期的日。

引數

date:屬於型別 DateTimeDateTimeOffset 且精確度 = 0-7 的運算式。

傳回值

指定之日期的日,當做 Int32

範例

SqlServer.DAY(cast('6/9/2006' as DateTime))
GETDATE() 採用 SQL Server 的內部格式,為日期時間值產生目前的日期和時間。

傳回值

當成 DateTime 的目前系統日期和時間,精確度為 3。

範例

SqlServer.GETDATE()
GETUTCDATE() 以 UTC (國際標準時間或格林威治標準時間) 格式產生日期時間值。

傳回值

採用 UTC 格式且精確度為 3 的 DateTime 值。

範例

SqlServer.GETUTCDATE()
MONTH(date) 以整數形式傳回指定日期的月份。

引數

date:屬於型別 DateTimeDateTimeOffset 且精確度 = 0-7 的運算式。

傳回值

指定之日期的月份,當做 Int32

範例

SqlServer.MONTH(cast('6/9/2006' as DateTime))
YEAR(date) 以整數形式傳回指定日期的年份。

引數

date:屬於型別 DateTimeDateTimeOffset 且精確度 = 0-7 的運算式。

傳回值

指定之日期的年份,當做 Int32

範例

SqlServer.YEAR(cast('6/9/2006' as DateTime))
SYSDATETIME() 傳回精確度為 7 的 DateTime 值。

傳回值

精確度為 7 的 DateTime 值。

範例

SqlServer.SYSDATETIME()
SYSUTCDATE() 以 UTC (國際標準時間或格林威治標準時間) 格式產生日期時間值。

傳回值

採用 UTC 格式且精確度 = 7 的 DateTime 值。

範例

SqlServer.SYSUTCDATE()
SYSDATETIMEOFFSET() 傳回精確度為 7 的 DateTimeOffset

傳回值

採用 UTC 格式且精確度為 7 的 DateTimeOffset 值。

範例

SqlServer.SYSDATETIMEOFFSET()

如需 SqlClient 支援的日期和時間函式的詳細資訊,請參閱日期和時間資料類型和函式 (Transact-SQL)

另請參閱