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

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

    SYSDATETIME() 関数は、現在の日付と時刻を datetime2(7)として返します。 価値。この値は、SQLServerのインスタンスが実行されているコンピューターのオペレーティングシステムから取得されます。

    この記事では、SYSDATETIME()の例を示します。 関数。他の関数と一緒に使用して、関心のある値を返す方法を含みます。

    構文

    まず、構文は次のとおりです。

    SYSDATETIME ( )

    したがって、この関数は実際には引数を受け入れません。引数なしで呼び出すだけです。

    SELECTを使用する基本的な例を次に示します。 SYSDATETIME()から現在の日付と時刻を返すステートメント :

    SELECT SYSDATETIME() AS Result;

    結果:

    +-----------------------------+
    | Result                      |
    |-----------------------------|
    | 2018-06-15 23:09:13.5852199 |
    +-----------------------------+

    したがって、前述のように、 datetime2(7)を返します。 価値。 datetime2 データ型は、 datetime よりも日付範囲が広く、デフォルトの分数精度が大きくなっています データ型(GETDATE()のデータ型 戻り値– SYSDATETIME()とGETDATE():違いは何ですか?)を参照してください。

    日付の一部を抽出

    戻り値の一部のみが必要な場合は、DATEPART()を使用できます。 興味のある日時のその部分だけを返します。

    例:

    SELECT DATEPART(month, SYSDATETIME()) AS Result;

    結果:

    +----------+
    | Result   |
    |----------|
    | 6        |
    +----------+

    SQLServerで同じ結果を得る方法が複数ある場合があります。 MONTH()を使用した別の例を次に示します。 機能:

    SELECT MONTH(SYSDATETIME()) AS Result;

    結果:

    +----------+
    | Result   |
    |----------|
    | 6        |
    +----------+

    これらの関数は両方とも当月を返しました。しかし、彼らは月番号を表す整数としてそれらを返しました。

    月の名前が必要な場合 代わりに、DATENAME()を使用できます。 :

    SELECT DATENAME(month, SYSDATETIME()) AS Result;

    結果:

    +----------+
    | Result   |
    |----------|
    | June     |
    +----------+
    

    日付をフォーマットする

    他のT-SQL関数を使用して、必要に応じて日付をフォーマットすることもできます。

    FORMAT()の使用例を次に示します。 結果をフォーマットする関数:

    SELECT 
        FORMAT(SYSDATETIME(), 'd', 'en-US') AS 'd, en-US',
        FORMAT(SYSDATETIME(), 'd', 'en-gb') AS 'd, en-gb',
        FORMAT(SYSDATETIME(), 'D', 'en-US') AS 'D, en-US',
        FORMAT(SYSDATETIME(), 'D', 'en-gb') AS 'D, en-gb';

    結果:

    +------------+------------+-----------------------+--------------+
    | d, en-US   | d, en-gb   | D, en-US              | D, en-gb     |
    |------------+------------+-----------------------+--------------|
    | 6/15/2018  | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 |
    +------------+------------+-----------------------+--------------+

    SQLServerで日付と時刻をフォーマットする方法のその他の例。

    値を増やして違いを見つける

    DATEDIFF()のような関数を使用できます 現在の日付と別の日付の差を返します。

    DATEADD()の使用例を次に示します。 現在の日付に月を追加してから、日数の違いを確認するには:

    DECLARE @date1 datetime2 = SYSDATETIME();
    DECLARE @date2 datetime2 = DATEADD(month, 1, SYSDATETIME());
    SELECT DATEDIFF(day, @date1, @date2) AS Result;

    結果:

    +----------+
    | Result   |
    |----------|
    | 30       |
    +----------+


    1. MySQLの列値の前に文字列を追加するにはどうすればよいですか?

    2. MySQLに書き込むときにTextAreaからの改行を保持する

    3. mysqldumpを使用してMySQLまたはMariaDBをバックアップします

    4. 楽観的同時実行性:IsConcurrencyTokenおよびRowVersion