共用方式為


日期和時間函式 (Entity SQL)

.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:用來遞增 datepartInt32Int64DecimalDouble 值。

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:代表要傳回新值之日期部分的 String

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

傳回值

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

範例

SqlServer.DATENAME('year', cast('6/9/2006' as DateTime))

DATEPART( datepart, date)

傳回一個整數,代表指定日期的指定日期部分。

引數

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 所支援日期和時間函式的詳細資訊,請參閱 SqlClient 提供者資訊清單中所指定 SQL Server 版本的說明文件:

SQL Server 2000 SQL Server 2005 SQL Server 2008

日期和時間函數 (Transact-SQL) (英文)

日期和時間函數 (Transact-SQL)

日期和時間函數 (Transact-SQL)

另請參閱

概念

適用於 Entity Framework 的 .NET Framework Data Provider for SQL Server (SqlClient) 函式