nls_numeric_characters
初期化パラメータから導出された数値文字(小数点およびグループ区切り文字) 。初期化パラメーターから派生したそのデフォルト値、nls_territory
および初期化パラメーターのデフォルト値は、オペレーティング システムによって異なります。Linux/Unix または Windows オペレーティング システムの環境変数またはレジストリ エントリnls_territory
からそれぞれ派生します。NLS_LANG
nls_numeric_characters
インスタンス全体、セッション全体、またはステートメント全体のニーズに応じて、初期化パラメーターのデフォルト値をオーバーライドできます。簡単な例を次に示します。
/* current value: , (comma) as decimal separator and
. (period) as group separator and
*/
SQL> show parameter nls_numeric_characters
NAME TYPE VALUE
------------------------------------ ----------- -------------
nls_numeric_characters string ,.
SQL> with t1(col) as(
2 select 1.23 from dual union all
3 select 234.43 from dual
4 )
5 select col
6 from t1;
COL
----------
1,23
234,43
セッション全体:
/* set . (period) as decimal separator and
, (comma) as group separator */
SQL> alter session set nls_numeric_characters='.,';
Session altered.
SQL> with t1(col) as(
2 select 1.23 from dual union all
3 select 234.43 from dual
4 )
5 select col
6 from t1;
COL
----------
1.23
234.43
ステートメント全体。この状況では、to_char()
関数を使用して数値形式モデルを提供する必要があります。
SQL> with t1(col) as(
2 select 1.23 from dual union all
3 select 234.43 from dual
4 )
5 select to_char(col, '990d00', q'[nls_numeric_characters='.,']') as res
6 , col
7 from t1;
RES COL
------- ----------
1.23 1,23
234.43 234,43