SQL FORMAT()は、指定されたフォーマットで値をフォーマットするために使用される内蔵関数です。 FORMAT() 関数は、日付/時刻の値や数値の値で使用されます。 SQL FORMAT()関数は、指定されたフォーマットで値をフォーマットします(SQL Server 2017ではオプションのカルチャもあります)。 FORMAT()関数は、日付/時刻の値や数値のフォーマットに使用します。
SQLフォーマット関数
SQLフォーマットは、指定されたフォーマットとオプションのカルチャでフォーマットされた値を出力します。 日付/時刻の値や数字の値を文字列としてロケールを意識してフォーマットするにはFORMAT関数を使用します。
構文
SELECT FORMAT (value, format, culture);
Parameters:
- Value:
- Value: フォーマットされるべき式
- Format:
- Format: フォーマットされる式のパターン
- Culture: カルチャー。
以下の例をご覧ください。
DECLARE @d DATETIME = '28/10/2019'; SELECT FORMAT (@d, 'd', 'en-US') AS 'US English Result', FORMAT (@d, 'd', 'no') AS 'Norwegian Result', FORMAT (@d, 'd', 'zu') AS 'Zulu Result', FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result', FORMAT ( @d, 'd', 'de-de' ) AS 'German Result', FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result';
出力をご覧ください。
Example 2:
以下のコードをご覧ください。
DECLARE @d DATETIME = '10/28/2019'; SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result' ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result' ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result' ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';
出力をご覧ください。
カスタムフォーマットタイプを見てみましょう。
DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result' ,FORMAT(123456789,'###-##-####') AS 'Custom Number Result';
出力を見てみましょう。
#SQL Format Date Example
この例では、まずDatetime変数を宣言し、それにGETDATE()を割り当てました。
以下のコード例をご覧ください。
DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'D', 'en-US' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'f', 'en-US' ) AS 'Result 3', FORMAT(@Vardate, 'F', 'en-US' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'g', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'G', 'en-US' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'm', 'en-US' ) AS 'Result 7', FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'O', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'R', 'en-US' ) AS 'Result 10'SELECT FORMAT(@Vardate, 's', 'en-US' ) AS 'Result 11', FORMAT(@Vardate, 'S', 'en-US' ) AS 'Result 12'SELECT FORMAT(@Vardate, 't', 'en-US' ) AS 'Result 13', FORMAT(@Vardate, 'T', 'en-US' ) AS 'Result 14'SELECT FORMAT(@Vardate, 'u', 'en-US' ) AS 'Result 15', FORMAT(@Vardate, 'U', 'en-US' ) AS 'Result 16'SELECT FORMAT(@Vardate, 'Y', 'en-US' ) AS 'Result 17'
出力をご覧ください。
#SQL Format Date using Culture
この例では、format関数の3番目の引数cultureを使用しています。
これにより、月の名前や日の名前を母国語で表示することができます。例えば、日の名前をヒンディー語、ロシア語、韓国語、日本語、中国語などで表示することができます。
#SQL Server Format Currency using Culture
この例では、指定された文化に基づいて通貨の値をフォーマットします
DECLARE @Sales INT = 1111 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'USA Currency'SELECT FORMAT(@Sales, 'c', 'ru-RU' ) AS 'Russian Currency'SELECT FORMAT(@Sales, 'c', 'hi-IN' ) AS 'Indian Currency'SELECT FORMAT(@Sales, 'c', 'de-DE' ) AS 'Indian Currency'
出力をご覧ください。
最後に、How To Format Function In SQL Server チュートリアルは終了です。
Recommended Posts
SQL Replicate Function
SQL LTRIM Function
Lower()Function Example In MySQL and SQL Server
SQL Left Function
SQL DIFFERENCE Function