この記事では、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)で現在の言語を設定する方法も参照してください。