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

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

    この記事では、T-SQL FORMAT()を使用するときに、日付を英国英語形式で明示的にフォーマットする方法を示します。 SQLServerで機能します。

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

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

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

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

    結果:

    +------------+
    | Result     |
    |------------|
    | 01/12/2020 |
    +------------+
    

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

    また、英国の英語形式を使用しているため、日は月の前になります(これは、月が日の前に来る米国の日付形式とは対照的です)。

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

    2番目の引数を大文字のDに変更できます 月を綴った、より長い日付形式になります:

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

    結果:

    +------------------+
    | Result           |
    |------------------|
    | 01 December 2020 |
    +------------------+
    

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

    必要に応じて、カスタムの日付形式を使用することもできます。これにより、各日付コンポーネントがどこにどのように移動するかを明示的に指定できます。

    例:

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

    結果:

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

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

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

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

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

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


    1. 2つの日付の間の日付のリストを取得します

    2. PostgreSQLで重複レコードを見つける方法

    3. GI12.2アップグレード用にASMのVOTEディスクグループを増やす

    4. PHPPDOと通常のmysql_connect