sql >> データベース >  >> RDS >> Sqlserver

TIMEFROMPARTS()SQL Server(T-SQL)の例

    T-SQL TIMEFROMPARTS() 関数を使用すると、時間を作成できます さまざまな時間部分からの値。戻り値の精度を指定することもできます。

    以下は、この関数がどのように機能するかの例です。

    構文

    構文は次のようになります:

    TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )

    ここで、最初の4つの引数は、その特定の時間部分を指定する整数式です。 5番目の引数は、時間の精度を指定する整数リテラルです。 返される値。

    実例を示します。

    SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;
    

    結果:

    +------------------+
    | Result           |
    |------------------|
    | 23:35:29.1234567 |
    +------------------+

    この場合、精度値7を指定しました。

    より正確に言うと(しゃれは意図されていません)、precision引数は実際には scaleを指定します 。 スケール 小数点の右側の桁数です。 精度 は総桁数です。

    無効な引数

    いずれかの引数が無効な場合、エラーが発生します。例:

    SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;
    

    結果:

    Cannot construct data type time, some of the arguments have values which are not valid.

    この場合、私はを提供しました 61の引数 。

    引数の数

    正しい数の引数を指定しない場合にもエラーが発生します。例:

    SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;
    

    結果:

    The timefromparts function requires 5 argument(s).

    ヌル値

    最初の4つの引数のいずれかがnullの場合、結果はNULLになります。 :

    SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;
    

    結果:

    +----------+
    | Result   |
    |----------|
    | NULL     |
    +----------+

    ただし、5番目の引数(精度 )がnullの場合、エラーが発生します:

    SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;
    

    結果:

    Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.

    リモート処理

    Microsoftは、TIMEFROMPARTS() 関数は、SQL Server 2012(11.x)サーバー以降にリモート接続できます。 SQL Server 2012(11.x)より前のバージョンのサーバーにリモート接続することはできません。

    同様の機能

    smalldatetime を取得するには、SQL Server(T-SQL)のSMALLDATETIMEFROMPARTS()の例も確認してください。 時間の代わりに値 値。


    1. 文字列を正しい方法で分割する–または次善の方法

    2. テーブルの値を使用したPostgresINTERVAL

    3. PHP/MySQLはnull値を挿入します

    4. SQLServerでIF...THENロジックを使用する方法