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

SQL Server(T-SQL)で米国の日付形式で日付を表示する方法

    SQL Serverでは、T-SQL FORMAT()を使用できます 希望の形式で日付を表示する関数。この関数は、オプションの「カルチャ」引数を受け入れます。これを使用して、米国の日付形式を指定できます。

    ローカルセッションの言語に応じて、この引数を使用する必要がある場合と使用しない場合があります。ただし、米国の日付形式を明示的に指定する方法は次のとおりです。

    例1-短い米国の日付形式

    日付を米国英語形式で表示するように明示的に指定するには、en-USを使用します。 文化の議論として:

    DECLARE @thedate date = '2020-12-01'
    SELECT FORMAT(@thedate, 'd', 'en-US') Result;
    

    結果:

    +-----------+
    | Result    |
    |-----------|
    | 12/1/2020 |
    +-----------+
    

    この場合、小文字のdを使用しました 2番目の引数として。これにより、日付と月が数字で表示される比較的短い日付形式になります。

    また、米国の日付形式を使用しているため、月は日の前になります。

    例2–米国の長い日付形式

    大文字のDに変更すると 、日と月が綴られた、より長い形式になります:

    DECLARE @thedate date = '2020-12-01'
    SELECT FORMAT(@thedate, 'D', 'en-US') Result;
    

    結果:

    +---------------------------+
    | Result                    |
    |---------------------------|
    | Tuesday, December 1, 2020 |
    +---------------------------+
    

    例3–カスタム米国日付形式

    上記の日付形式の制限が厳しすぎる場合は、いつでもカスタムの日付形式を指定できます。たとえば、前の例が気に入った場合、日と月の最初の3文字だけを使用したい場合を除いて、次のようにすることができます。

    DECLARE @thedate date = '2020-12-01'
    SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;
    

    結果:

    +------------------+
    | Result           |
    |------------------|
    | Tue, Dec 1, 2020 |
    +------------------+
    

    各日付コンポーネントの行き先を正確に指定していても、カルチャを指定します。私がこれを行う理由は、使用する言語を明示的に示すためです。この引数を省略すると、使用されている言語に応じて、問題が発生する場合と発生しない場合があります。

    カスタム日付形式の良いところは、柔軟性が高いことです。コンポーネントを切り替えることができ、必要な場所に正確に表示されます。

    現在のセッションを確認する

    FORMAT()を使用する場合 関数では、カルチャ引数が指定されていない場合、現在のセッションの言語が使用されます。この言語は、暗黙的に、またはSET LANGUAGEを使用して明示的に設定されます。 ステートメント。

    詳細については、SQL Server(T-SQL)で現在のセッションの言語を取得する3つの方法を参照してください。

    SQL Server(T-SQL)で現在の言語を設定する方法も参照してください。


    1. Access2016で空白のフォームを作成する方法

    2. 高度なSQL:CROSSAPPLYおよびOUTERAPLY

    3. MySQLで先頭と末尾の空白を削除する方法

    4. Prismaの使い方