.NET Framework Data Provider for SQL Server (SqlClient) 提供日期和時間函式,以在輸入值上 System.DateTime 執行作業,並傳回 string、數值或 System.DateTime 值結果。 這些函式位於 SqlServer 命名空間中,您可以在使用 SqlClient 時使用。 提供者的命名空間屬性可讓 Entity Framework 探索此提供者用於特定建構的前置詞,例如類型和函式。 下表顯示 SqlClient 日期和時間函式。
| 功能 | 說明 |
|---|---|
DATEADD(datepart, number, date) |
傳回新的 DateTime 值,這個值是以加入間隔至指定的日期為根據。引數 datepart
String:表示日期中要傳回新值的部分。number:用來遞增 Int32的 Int64、Decimal、 Double或 datepart 值。date: 傳回DateTime、DateTimeOffset 或 Time,且有效位數 = [0-7],或以日期格式顯示的字元字串。傳回值 具有有效位數 = [0-7] 的新 DateTime、DateTimeOffset 或 Time 值。範例 SqlServer.DATEADD('day', 22, cast('6/9/2006' as DateTime)) |
DATEDIFF(datepart,startdate,enddate) |
傳回在兩個指定日期之間跨越的日期和時間界限數目。 引數 datepart
String:,表示要計算差異的日期部分。startdate:計算的開始日期是傳回 DateTime、 或 DateTimeOffset或 Time 值且有效位數 = [0-7] 的運算式,或是日期格式的字元字串。enddate:計算的結束日期是指一個運算式,該運算式能傳回DateTime、DateTimeOffset 或 Time 值,精確度等於[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,、DateTimeOffset 或 Time 值的表達式,精度 = [0-7],或者是日期格式的字元字串。傳回值 指定日期的特定部分的字元字串。 範例 SqlServer.DATENAME('year', cast('6/9/2006' as DateTime)) |
DATEPART(datepart, date) |
傳回表示指定日期的指定日期部分的整數。 引數 datepart
String:表示日期中要傳回新值的部分。date:這是一個運算式,可以傳回有效位數為 [0-7] 的DateTime,、DateTimeOffset,或Time數值,或者是日期格式的字元字串。傳回值 指定日期的指定日期部分,作為 Int32。範例 SqlServer.DATEPART('year', cast('6/9/2006' as DateTime)) |
DAY(date) |
傳回指定日期的日期為整數。 引數 date:類型 DateTime 或 DateTimeOffset 精確度 = 0-7 的運算式。傳回值 指定日期的日期為 Int32。範例 SqlServer.DAY(cast('6/9/2006' as DateTime)) |
GETDATE() |
產生符合 SQL Server 日期時間值內部格式的目前日期和時間。 傳回值 目前的系統日期和時間作為 DateTime,精確程度達到小數點後 3 位。範例 SqlServer.GETDATE() |
GETUTCDATE() |
以UTC (國際標準時間或格林威治平均時間) 格式產生日期時間值。 傳回值 DateTime 的數值以 UTC 格式顯示,精確到小數點後3位。範例 SqlServer.GETUTCDATE() |
MONTH(date) |
以整數傳回指定日期的月份。 引數 date:類型 DateTime 或 DateTimeOffset 精確度 = 0-7 的運算式。傳回值 指定日期的月份做為 Int32。範例 SqlServer.MONTH(cast('6/9/2006' as DateTime)) |
YEAR(date) |
以整數傳回指定日期的年份。 引數 date:類型 DateTime 或 DateTimeOffset 精確度 = 0-7 的運算式。傳回值 指定日期的年份被視為 Int32。範例 SqlServer.YEAR(cast('6/9/2006' as DateTime)) |
SYSDATETIME() |
傳 DateTime 回有效位數為 7 的值。傳回值 DateTime精度為 7 的值。範例 SqlServer.SYSDATETIME() |
SYSUTCDATE() |
以UTC (國際標準時間或格林威治平均時間) 格式產生日期時間值。 傳回值 UTC 格式的值,精確度 = 7。 範例 SqlServer.SYSUTCDATE() |
SYSDATETIMEOFFSET() |
返回 DateTimeOffset,並且精確度為 7。傳回值 UTC 格式的 DateTimeOffset 值,其有效位數為 7。範例 SqlServer.SYSDATETIMEOFFSET() |
如需 SqlClient 支援的日期和時間函式詳細資訊,請參閱日期和時間數據類型和函式 (Transact-SQL)。