SQL Serverでは、T-SQL FORMAT()
を使用できます 数値を通貨としてフォーマットする関数。
FORMAT()
関数を使用すると、数値、日付、通貨などをフォーマットできます。3つの引数を受け入れます。数、形式、およびオプションの「カルチャ」引数。この記事では、特にformat引数を使用して通貨を指定する方法について説明します。
例1-基本的な使用法
数値を通貨としてフォーマットする例を次に示します。
SELECT FORMAT(1234, 'C') Result;
結果:
+-----------+ | Result | |-----------| | $1,234.00 | +-----------+
この場合、C
を使用しました 2番目の引数として。これは、Currencyの標準の数値形式の文字列です。
例2–大文字と小文字の区別
この引数では大文字と小文字が区別されないため、C
またはc
同じ結果を返します:
SELECT FORMAT(1234, 'c') Result;
結果:
+-----------+ | Result | |-----------| | $1,234.00 | +-----------+
例3–小数点以下の桁数
別の例を次に示します。今回はC0
を使用します 小数点以下の桁数が不要であることを指定するには:
SELECT FORMAT(1234, 'C0') Result;
結果:
+----------+ | Result | |----------| | $1,234 | +----------+
これは「精度指定子」と呼ばれます。これは、結果を表示する精度を指定できるためと考えられます。
小数点以下の桁数を増やすこともできます:
SELECT FORMAT(1234, 'C4') Result;
結果:
+-------------+ | Result | |-------------| | $1,234.0000 | +-------------+
例4–ロケール
前の例ではすべて、数字の前にドル記号が付いていました。目的の通貨がドルの場合はこれで問題ありませんが、別の通貨で表示する必要がある場合はどうなりますか?
3番目の引数を使用して、ロケールを指定できます。これにより、そのロケールで適切な通貨記号が自動的に使用されます:
SELECT FORMAT(1234, 'C', 'fr-FR') Result;
結果:
+------------+ | Result | |------------| | 1 234,00 € | +------------+
その他のロケールは次のとおりです:
SELECT FORMAT(1234, 'C', 'fr-FR') 'France', FORMAT(1234, 'C', 'zh-cn') 'China', FORMAT(1234, 'C', 'th-TH') 'Thailand', FORMAT(1234, 'C', 'de-DE') 'Germany';
結果:
+------------+-----------+------------+------------+ | France | China | Thailand | Germany | |------------+-----------+------------+------------| | 1 234,00 € | ¥1,234.00 | ฿1,234.00 | 1.234,00 € | +------------+-----------+------------+------------+
文化の場合 引数が指定されていない場合は、現在のセッションの言語が使用されます。
現在のセッションの言語を見つける方法と設定する方法は次のとおりです。
現在の言語は通常、ユーザーのデフォルト言語と同じですが、ユーザーがSET LANGUAGE
を使用して現在の言語を変更した場合はそうではない可能性があることに注意してください。 。いずれにせよ、デフォルトの言語が何であるかを知ることもできます。
ご想像のとおり、現在の言語や「文化」の議論の価値によって、まったく異なる結果が得られる可能性があります。その他の例については、言語設定がFORMAT()の結果にどのように影響するかをご覧ください。