ITPub博客

首页 > 数据库 > Oracle > Oracle 中的NLS

Oracle 中的NLS

原创 Oracle 作者:HuiYiSky 时间:2007-03-06 16:46:21 0 删除 编辑

NLS: Nation Language Session

NLS_LANG: 語言別以及字符集

NLS_DATE_FORMAT: 日期的顯示格式

NLS_DATE_LANGUAGE: 日期的語言別

[@more@]
-- 查看當前SESSION NLS_LANG
SYS@HUIYI>select * from nls_session_parameters where parameter='NLS_LANGUAGE';

PARAMETER            VALUE
-------------------- ------------------------------
NLS_LANGUAGE         TRADITIONAL CHINESE

-- 查看數据庫NLS_LANG
SYS@HUIYI>select * from nls_database_parameters
  2  where parameter in('NLS_LANGUAGE','NLS_CHARACTERSET');

PARAMETER            VALUE
-------------------- ------------------------------
NLS_LANGUAGE         AMERICAN
NLS_CHARACTERSET     ZHT16MSWIN950

-- TRADITIONAL CHINESE
SYS@HUIYI>select '測試' col from dual;

COL
--------
測試

SYS@HUIYI>d
SP2-0042: 未知的命令 "d" - 此行的剩餘部份被略過不予處理

-- 修改提示語言為英文
-- 英文提示,中文正常顯示
E:>set nls_lang=american_america.zht16mswin950

E:>sqlplus "/ as sysdba"

SYS@HUIYI>d
SP2-0042: unknown command "d" - rest of line ignored.

SYS@HUIYI>select '測試' col from dual;

COL
----
測試

-- 設置成其它字符集(和數据庫不一致)
-- 文字將不能正常顯示
E:>set nls_lang=AMERICAN_AMERICA.ZHS16GBK

E:>sqlplus "/ as sysdba"

SYS@HUIYI>select '測試' col from dual;

COL
--------
測?

SYS@HUIYI>select sysdate from dual;

SYSDATE
----------
06-3月 -07

SYS@HUIYI>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

已更改階段作業.

SYS@HUIYI>select sysdate from dual;

SYSDATE
-------------------
2007-03-06 17:08:37

SYS@HUIYI>select to_char(sysdate,'Day') col from dual;

COL
------------
星期二

SYS@HUIYI>select to_char(sysdate,'Day','nls_date_language=american') col from dual;

COL
------------------
Tuesday

SYS@HUIYI>alter session set nls_date_language=american;

已更改階段作業.

SYS@HUIYI>select to_char(sysdate,'Day') col from dual;

COL
------------------
Tuesday

SYS@HUIYI>alter session set nls_date_language='TRADITIONAL CHINESE';

已更改階段作業.

SYS@HUIYI>select to_char(sysdate,'Day') col from dual;

COL
------------
星期二

 -- 格式化指定字符

SYS@HUIYI>select to_char(sysdate,'yyyy"(year)"mm"(month)"dd"(day)"') col from dual; COL ---------------------------------------------------- 2007(year)03(month)14(day)
-- interval
SYS@HUIYI>select trunc(sysdate)+1/24/60 col from dual; COL ------------------ 14-Mar-07 00:01:00 SYS@HUIYI>select trunc(sysdate)+(interval '1' minute) col from dual; COL ------------------ 14-Mar-07 00:01:00 SYS@HUIYI>select trunc(sysdate) col1,trunc(sysdate)+(interval '01:02:03' hour to second) col2 from dual; COL1 COL2 ------------------ ------------------ 14-Mar-07 00:00:00 14-Mar-07 01:02:03 SYS@HUIYI>select trunc(sysdate) col1,trunc(sysdate)+(interval '01:02' hour to minute) col2 from dual; COL1 COL2 ------------------ ------------------ 14-Mar-07 00:00:00 14-Mar-07 01:02:00

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8799875/viewspace-903029/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-14

  • 博文量
    39
  • 访问量
    338055