DATETIME2FROMPARTS (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

此函式會傳回指定日期和時間引數的 datetime2 值。 傳回值具有 precision 引數所指定的精確度。

Transact-SQL 語法慣例

Syntax

DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

year
指定年份的整數運算式。

month
指定月份的整數運算式。

day
指定日期的整數運算式。

hour
指定小時的整數運算式。

minute
指定分鐘的整數運算式。

seconds
指定秒的整數運算式。

fractions
指定小數秒值的整數運算式。

有效位數
整數運算式,指定 DATETIME2FROMPARTS 會傳回之 datetime2 值的精確度。

傳回類型

datetime2(precision)

備註

DATETIME2FROMPARTS 會傳回完整初始化的 datetime2 值。 如果至少一個必要引數具有無效的值,DATETIME2FROMPARTS 會引發錯誤。 如果至少一個必要引數具有 Null 值,則 DATETIME2FROMPARTS 會傳回 Null。 不過,如果 precision 引數為 Null 值,DATETIME2FROMPARTS 會引發錯誤。

fractions 引數相依於 precision 引數。 例如,precision 值為 7 的每個部分表示 100 奈秒;precision 為 3 的每個部分表示 1 毫秒。 如果 precision 值為零,fractions 也必須為零,否則 DATETIME2FROMPARTS 會引發錯誤。

函數可以在 SQL Server 2012 (11.x) 伺服器和更新版伺服器上以遠端方式進行。 它在版本低於 SQL Server 2012 (11.x) 的伺服器上無法以遠端方式運作。

範例

A. 不包含秒之小數部分的範例

SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;  

以下為結果集。

Result  
---------------------------  
2010-12-31 23:59:59.0000000  
  
(1 row(s) affected)  

B. 含秒的小數部分的範例

此範例示範 fractionsprecision 參數的用法:

  1. fractions 的值為 5、precision 的值為 1,則 fractions 的值表示 5/10 秒。

  2. fractions 的值為 50、precision 的值為 2,則 fractions 的值表示 50/100 秒。

  3. fractions 的值為 500、precision 的值為 3,則 fractions 的值表示 500/1000 秒。

SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );  
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );  
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );  
GO  

以下為結果集。

----------------------  
2011-08-15 14:23:44.5  
  
(1 row(s) affected)  
  
----------------------  
2011-08-15 14:23:44.50  
  
(1 row(s) affected)  
  
----------------------  
2011-08-15 14:23:44.500  
  
(1 row(s) affected)  

另請參閱

datetime2 (Transact-SQL)