この記事では、 FORMAT()
を使用して数値をフォーマットするときに使用できるカスタム数値フォーマット指定子のリファレンスを提供します。 SQLServerの関数。例が含まれています。
説明/例 | |
---|---|
0 | ゼロプレースホルダー 。ゼロが存在する場合は、ゼロを対応する数字に置き換えます。それ以外の場合は、結果文字列にゼロが表示されます。 例 : SELECT FORMAT(12.34, '0') R1, FORMAT(012.34, '00') R2, FORMAT(12.34, '000') R3, FORMAT(012.34, '0000') R4, FORMAT(12.54, '00') R5; +------+------+------+------+------+ | R1 | R2 | R3 | R4 | R5 | |------+------+------+------+------| | 12 | 12 | 012 | 0012 | 13 | +------+------+------+------+------+ |
# | 数字のプレースホルダー 。 「#」記号が存在する場合は、対応する数字に置き換えます。それ以外の場合、結果の文字列に数字は表示されません。 入力文字列の対応する数字が重要でない0の場合、結果文字列に数字は表示されません。 例 : SELECT FORMAT(12.34, '#') R1, FORMAT(012.34, '##') R2, FORMAT(12.34, '###') R3, FORMAT(012.34, '####') R4, FORMAT(12.54, '##') R5; +------+------+------+------+------+ | R1 | R2 | R3 | R4 | R5 | |------+------+------+------+------| | 12 | 12 | 12 | 12 | 13 | +------+------+------+------+------+ |
。 | 小数点 。結果文字列内の小数点の位置を決定します。 例 : SELECT FORMAT(12.34, '0.0', 'en-US') R1, FORMAT(12.34, '.00', 'en-US') R2, FORMAT(12.34, '.', 'en-US') R3, FORMAT(12.34, '.00', 'fr-FR') R4; +------+-------+------+-------+ | R1 | R2 | R3 | R4 | |------+-------+------+-------| | 12.3 | 12.34 | 12 | 12,34 | +------+-------+------+-------+ |
、 | グループの区切り文字と数値のスケーリング 。グループ区切り文字(千単位の区切り文字とも呼ばれます)と数値スケーリング指定子の両方として使用できます。
グループ区切り文字を指定するには、数値の整数桁をフォーマットする2桁のプレースホルダー(0または#)の間に1つ以上のコンマを置きます。これにより、出力の整数部分の各数値グループの間にグループ区切り文字が挿入されます。 数値スケーリング指定子を指定するには、明示的または暗黙的な小数点のすぐ左に1つ以上のコンマを配置します。 例–グループセパレーターとして : SELECT FORMAT(12345678, '#,#', 'en-US') 'US English', FORMAT(12345678, '#,#', 'fr-FR') 'French', FORMAT(12345678, '#,#', 'es-ES') 'Spanish'; +--------------+------------+------------+ | US English | French | Spanish | |--------------+------------+------------| | 12,345,678 | 12 345 678 | 12.345.678 | +--------------+------------+------------+ 例–数値スケーリング指定子として : SELECT FORMAT(12000, '#,', 'en-US') 'R1', FORMAT(1234567890, '#,', 'en-US') R2, FORMAT(1234567890, '#,,', 'en-US') R3; +------+---------+------+ | R1 | R2 | R3 | |------+---------+------| | 12 | 1234568 | 1235 | +------+---------+------+ 例–両方として : SELECT FORMAT(1234567890, '#,#,', 'en-US') R1, FORMAT(1234567890, '#,#,,', 'en-US') R2; +-----------+-------+ | R1 | R2 | |-----------+-------| | 1,234,568 | 1,235 | +-----------+-------+ |
% | パーセンテージプレースホルダー 。数値に100を掛けて、結果文字列にローカライズされたパーセント記号を挿入します。 例 : SELECT FORMAT(0.1234, '#.# %', 'en-US') R1, FORMAT(0.1235, '#.#%', 'zh-cn') R2, FORMAT(0.125, '#. %', 'en-US') R3, FORMAT(0.1234, '%#.00,', 'tr') R4, FORMAT(0.1234, '#.#%', 'it') R5; +--------+-------+------+--------+-------+ | R1 | R2 | R3 | R4 | R5 | |--------+-------+------+--------+-------| | 12.3 % | 12.4% | 13 % | %12,34 | 12,3% | +--------+-------+------+--------+-------+> |
‰ | パーミルプレースホルダー 。数値に1000を掛けて、結果の文字列にローカライズされたパーミル記号を挿入します。 例 : SELECT FORMAT(0.01234, '#.# ‰', 'en-US') 'R1', FORMAT(0.01235, '#.# ‰', 'en-US') R2, FORMAT(0.0125, '#. ‰', 'en-US') R3, FORMAT(0.01234, '#.# ‰', 'fr-FR') R4; +--------+--------+------+--------+ | R1 | R2 | R3 | R4 | |--------+--------+------+--------| | 12.3 ‰ | 12.4 ‰ | 13 ‰ | 12,3 ‰ | +--------+--------+------+--------+ |
|
指数表記 。少なくとも1つのゼロが続く場合( 例 : SELECT FORMAT(123456789, '0e0') R1, FORMAT(123456789, '0e+0') R2, FORMAT(123456789, '0E+00') R3, FORMAT(1234.56789, '0.0##e+00') R4, FORMAT(12.3456789-12, '0e-0') R5; +------+------+-------+-----------+------+ | R1 | R2 | R3 | R4 | R5 | |------+------+-------+-----------+------| | 1e8 | 1e+8 | 1E+08 | 1.235e+03 | 3e-1 | +------+------+-------+-----------+------+ |
| エスケープ文字 。次の文字をカスタム形式指定子ではなくリテラルとして解釈します。 例 : SELECT FORMAT(123, '\#0000') Result; +----------+ | Result | |----------| | #0123 | +----------+ |
| リテラル文字列区切り文字 。囲まれた文字を変更せずに結果文字列にコピーする必要があることを示します。 例 : SELECT FORMAT(23, '## Degrees') Result; +------------+ | Result | |------------| | 23 Degrees | +------------+ |
| セクションセパレータ 。これは、正、負、およびゼロの数値に対して個別のフォーマット文字列を持つセクションを定義する条件付きフォーマット指定子です。これにより、数値が正、負、またはゼロのいずれであるかに応じて、数値に異なるフォーマットを適用できます。カスタムフォーマットの文字列には、セミコロンで区切られた最大3つのセクションを含めることができます。
セクションセパレータを使用する場合、負の値は常にマイナス記号なしで表示されることに注意してください。最終的にフォーマットされた値にマイナス記号を付ける場合は、カスタムフォーマット文字列の一部としてマイナス記号を明示的に含める必要があります。これは、数値に関連付けられている他の既存の書式にも適用されます。
例– 1つのセクション(セクション区切り文字なし) SELECT FORMAT(123, '0 (Number)') Positive, FORMAT(-123, '0 (Number)') Negative, FORMAT(0, '0 (Number)') Zero; +--------------+---------------+------------+ | Positive | Negative | Zero | |--------------+---------------+------------| | 123 (Number) | -123 (Number) | 0 (Number) | +--------------+---------------+------------+ セクションセパレータを使用しなかったため、マイナス記号はそのまま残ります。 例–2つのセクション : /* EXAMPLE 1 - Same format string, different values */ SELECT FORMAT(123, '0 (Positive or Zero); 0 (Negative)') Positive, FORMAT(-123, '0 (Positive or Zero); 0 (Negative)') Negative, FORMAT(0, '0 (Positive or Zero); 0 (Negative)') Zero; +------------------------+-----------------+----------------------+ | Positive | Negative | Zero | |------------------------+-----------------+----------------------| | 123 (Positive or Zero) | 123 (Negative) | 0 (Positive or Zero) | +------------------------+-----------------+----------------------+ /* EXAMPLE 2 - Rounding. Negative values rounded to zero get formatted under the first format string. */ SELECT FORMAT(0.1, '0 (Positive or Zero); 0 (Negative)') Positive, FORMAT(-0.1, '0 (Positive or Zero); 0 (Negative)') Negative; +----------------------+----------------------+ | Positive | Negative | |----------------------+----------------------| | 0 (Positive or Zero) | 0 (Positive or Zero) | +----------------------+----------------------+ 例–3つのセクション : /* EXAMPLE 1 - Basic Usage */ SELECT FORMAT(123, '0 (Positive); 0 (Negative); 0 (Zero)') Result; +----------------+ | Result | |----------------| | 123 (Positive) | +----------------+ /* EXAMPLE 2 - Same format string, different values */ SELECT FORMAT(123, '0 (Positive); 0 (Negative); 0 (Zero)') 'Positive', FORMAT(-123, '0 (Positive); 0 (Negative); 0 (Zero)') 'Negative', FORMAT(0, '0 (Positive); 0 (Negative); 0 (Zero)') 'Zero', FORMAT(0.123, '0 (Positive); 0 (Negative); 0 (Zero)') 'Rounded to Zero'; +----------------+----------------+-----------+-------------------+ | Positive | Negative | Zero | Rounded to Zero | |----------------+----------------+-----------+-------------------| | 123 (Positive) | 123 (Negative) | 0 (Zero) | 0 (Zero) | +----------------+----------------+-----------+-------------------+ /* EXAMPLE 3 - Second format string is empty */ SELECT FORMAT(123, '0 (Positive);; 0 (Zero)') 'Positive', FORMAT(-123, '0 (Positive);; 0 (Zero)') 'Negative', FORMAT(0, '0 (Positive);; 0 (Zero)') 'Zero', FORMAT(0.123, '0 (Positive);; 0 (Zero)') 'Rounded to Zero'; +----------------+-----------------+-----------+-------------------+ | Positive | Negative | Zero | Rounded to Zero | |----------------+-----------------+-----------+-------------------| | 123 (Positive) | -123 (Positive) | 0 (Zero) | 0 (Zero) | +----------------+-----------------+-----------+-------------------+ |
その他 | 他のすべてのキャラクター。 文字は変更されずに結果文字列にコピーされます。 例 : SELECT FORMAT(12, '# °C') Result; +----------+ | Result | |----------| | 12 °C | +----------+ |
上記のリストは、執筆時点でMicrosoft Webサイトにあるカスタムフォーマット文字列の公式.NETドキュメントからの情報に基づいた、有効な.NETカスタムフォーマット文字列の完全なリストです。
これらがSQLServerのFORMAT()
に関連する理由 機能は、有効な.NETFramework形式の文字列のみを受け入れることです。
上記のカスタムに加えて 文字列をフォーマットする場合は、標準を使用することもできます 文字列をフォーマットします。 SQLServerで使用できる標準の数値形式の文字列の完全なリストは次のとおりです。
日付と時刻の値をフォーマットすることもできます。 FORMAT()
で使用できる標準の日付と時刻の形式の文字列、およびカスタムの日付と時刻の形式の文字列のリストを参照してください。 機能。
それでもフォーマット文字列が何であるかを理解しようとしている場合は、SQLServerのフォーマット文字列とはを参照してください。フォーマット文字列の基本的な理解と、フォーマット文字列が FORMAT()
にどのように関係するかについて説明します。 働き。