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

T-SQLで(タイムゾーンなしで)現在の日付と時刻を取得する方法

    問題:

    T-SQLで現在の日付と時刻を取得したいが、タイムゾーンをオフセットしたくない。

    解決策:

    GETDATE()、CURRENT_TIMESTAMP、およびSYSDATETIME()を使用して、タイムゾーンオフセットなしで現在の日付と時刻を取得します。最初の2つの関数を使用すると、現在の時刻をより低い精度で取得できます。 (GETDATE()はT-SQL関数ですが、CURRENT_TIMESTAMPはSQL標準関数です。どちらの関数も同じデータ型を返します)。 3番目の関数SYSDATETIME()は、より高精度の時刻を取得します。

    SELECT CURRENT_TIMESTAMP ;
    

    クエリの結果は次のとおりです。

    2019-08-14 10:01:06.983

    ディスカッション:

    SQL Serverデータベースでは、CURRENT_TIMESTAMP 関数は、現在の日付と時刻(つまり、そのSQL Serverインスタンスが実行されているマシン上の時刻)をdatetimeとして返します。 データ・タイプ。 Datetime は、最大3秒未満の精度の低い時間です。 (この例では、これは983です。)

    GETDATE()はCURRENT_TIMESTAMPに似ています 同じ結果を返します。違いは、CURRENT_TIMESTAMP はSQL標準ですが、GETDATE()はSQLServerに固有です。

    SELECT GETDATE() ;
    

    もちろん、タイムゾーンオフセットなしでより正確な現在の日付と時刻を取得する場合は、SYSDATETIME()関数を使用できます。この関数はdatetime2を返します 7つの小数秒のデータ型。以下の例を見てください:

    SELECT SYSDATETIME() ;
    

    結果は次のとおりです。

    2019-08-14 10:01:06.9754163

    1. MariaDB JSON_ARRAY_APPEND()の説明

    2. Accessでデータベースドキュメンテーションを使用する方法

    3. データストレージ:アーカイブおよびHSMのRESTとPOSIX

    4. rownum=3の給与からrownumを選択します。