NLS_DATA関連の備忘録
シェルの環境変数としてセット
定義したシェルから起動したOracleクライアントに対して有効
Oracle用ユーザの「~/.bash_profile」に定義した場合は、永続的に有効化
$ export NLS_DATE_FORMAT='YYYY-MM-DD' $ export NLS_TIMESTAMP_FORMAT="YYYY-MM-DD HH24:MI:SS"
セッション内のみ定義を有効化
環境影響が少ない
SQL> select sysdate from dual;
SYSDATE
--------
20110916
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
セッションが変更されました。
SQL> select sysdate from dual;
SYSDATE
-------------------
2011-09-16 19:43:20
永続的に有効化(spfileに記録)
sqlplus> alter system set NLS_DATE_FORMAT = 'YYYY/MM/DD' SCOPE=SPFILE;
その他
nls関連パラメータ
SQL> column parameter format a30 SQL> column values format a30; SQL> select * from v$nls_parameters; PARAMETER VALUE ------------------------------ ---------------------------------------------------------------- NLS_LANGUAGE JAPANESE NLS_TERRITORY JAPAN NLS_CURRENCY ¥ NLS_ISO_CURRENCY JAPAN NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT YYYYMMDD NLS_DATE_LANGUAGE JAPANESE NLS_CHARACTERSET AL32UTF8 NLS_SORT BINARY NLS_TIME_FORMAT HH24:MI:SSXFF NLS_TIMESTAMP_FORMAT YYYYMMDD HH24MISSXFF NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR NLS_TIMESTAMP_TZ_FORMAT YYYYMMDD HH24MISSXFF TZR NLS_DUAL_CURRENCY \ NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 19行が選択されました。