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

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

    SQL Serverでは、transact-sql SYSDATETIMEOFFSET() 関数はdatetimeoffset(7)を返します SQLServerのインスタンスが実行されているコンピューターの日付と時刻を含む値。この値には、タイムゾーンオフセットが含まれます。

    以下の使用例。

    構文

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

    SYSDATETIMEOFFSET ( )

    したがって、引数なしで関数を呼び出すだけです。

    基本的な例は次のとおりです。

    SELECT SYSDATETIMEOFFSET() AS Result;

    結果:

    Result
    ----------------------------------
    2018-06-17 09:55:27.3221853 +10:00
    

    タイムゾーンオフセットの抽出

    DATEPART()を使用できます タイムゾーンオフセットを返す関数。この関数は、タイムゾーンオフセットを分単位で表す整数を返します。

    例:

    SELECT 
        SYSDATETIMEOFFSET() AS 'Date/time',
        DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset';

    結果:

    Date/time                             TZ Offset
    ----------------------------------    -----------
    2018-06-17 10:04:23.2316409 +10:00    600

    FORMAT()関数を使用して、タイムゾーンオフセットを文字列として返すこともできます。具体的には、zを使用できます 、zz 、および/またはzzz 必要な形式で返すための引数。

    例:

    SELECT 
        SYSDATETIMEOFFSET() AS 'Date/time',
        FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz',
        FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';

    結果:

    Date/time                             zz                zzz
    ----------------------------------    --------------    --------------
    2018-06-17 10:27:33.7314840 +10:00    +10               +10:00
    

    戻り値の変換

    CONVERT()などの関数を使用することもできます 戻り値を別のデータ型に変換します。これを日付に変換する例を示します 値と時間 値:

    SELECT 
        CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date',
        CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time';

    結果:

    Date          Time
    ----------    ----------------
    2018-06-17    10:08:29.6377947

    もちろん、これを行うと、タイムゾーンのオフセットが失われます。

    TODATETIMEOFFSET()も参照してください これにより、 datetimeoffsetを取得できます datetime2からの値 式、およびSWITCHOFFSET() これにより、タイムゾーンオフセットを変更できます。


    1. テーブルの主キーのベストプラクティスは何ですか?

    2. Mysqlはワイルドカードを使用して検索パフォーマンスを向上させます(%%)

    3. これらのメトリックを使用してSQLServerのパフォーマンスを測定していますか?

    4. 1052:フィールドリストの列'id'があいまいです