SET DECIMALSEPARATORCOMMA
PSQL データベース エンジンは、デフォルトでピリオド(.)を整数部と小数部の間の区切り文字として使い、小数値データを表示します(たとえば、100.95)。SET DECIMALSEPARATORCOMMA ステートメントを使用すれば、整数部と小数部をカンマで区切って結果を表示するよう指定することができます(たとえば、100,95)。
すべての SET ステートメントと同様に、このステートメントの効果は現在のデータベース セッションの間中、または別の SET DECIMALSEPARATORCOMMA ステートメントが発行されるまで適用されます。
構文
SET DECIMALSEPARATORCOMMA = <ON | OFF>
備考
デフォルト値は OFF です。これは、ピリオドをデフォルトの小数点の記号として使用します。
カンマを小数点の記号として使用する地域では、カンマまたはピリオドを区切り文字として使用して小数値データを入力することができます(カンマを区切り文字として使用したリテラル値は、'123,43' などのように一重引用符で囲む必要があります)。ただし、(SELECT ステートメントの結果のように)データが返される場合、SET DECIMALSEPARATORCOMMA=ON が指定されていなければ、データは常にピリオドを使って表示されます。
また、小数点の記号にピリオドを使って入力したデータがデータベースに含まれる場合、このステートメントを使用して出力と表示でカンマを区切り文字にするよう指定することができます。
このカンマは出力と表示にのみ影響します。挿入、更新あるいは比較で使用する値にはまったく影響しません。
例
次の例では、ピリオドで区切られたデータの挿入方法と、SET DECIMALSEPARATORCOMMA ステートメントが SELECT の結果にどのように影響するかを示します。
CREATE TABLE t1 (c1 real, c2 real)
INSERT INTO t1 VALUES (102.34, 95.234)
SELECT * FROM t1
結果: c1 c2
------- -------
102.34 95.234
SET DECIMALSEPARATORCOMMA=ON
SELECT * FROM t1
結果: c1 c2
------- -------
102,34 95,234
============
次の例では、カンマで区切られたデータの挿入方法と、SET DECIMALSEPARATORCOMMA ステートメントが SELECT の結果にどのように影響するかを示します。
メモ: カンマを区切り文字として使用できるのは、クライアントとサーバーの両方またはどちらか一方のオペレーティング システムの地域の設定がカンマを区切り文字として使用するロケールに設定されている場合のみです。たとえば、クライアントとサーバーの両方で U.S. のロケール設定をしていた場合、次の例を実行しようとするとエラーになります。
CREATE TABLE t1 (c1 real, c2 real)
INSERT INTO t1 VALUES ('102,34', '95,234')
SELECT * FROM t1
結果: c1 c2
------- -------
102.34 95.234
SET DECIMALSEPARATORCOMMA=ON
SELECT * FROM t1
結果: c1 c2
------- -------
102,34 95,234
関連項目