Oracle创建测试表
试中文排序的数据库版本:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
2. 创建测试表
create table player (id number(16, 0), name varchar2(30));
3. 检查字符集配置
确认数据库字符集 american_america.AL32UTF8
SQL> select name,value$ from props$;
NAME VALUE$
------------------------------ ------------------------------
DICT.BASE 2
DEFAULT_TEMP_TABLESPACE TEMP
DEFAULT_PERMANENT_TABLESPACE USERS
DEFAULT_EDITION ORA$BASE
Flashback Timestamp TimeZone GMT
TDE_MASTER_KEY_ID
DEFAULT_TBS_TYPE SMALLFILE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DDMON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.1.0.6.0
GLOBAL_DB_NAME ORA11G
EXPORT_VIEWS_VERSION 8
WORKLOAD_CAPTURE_MODE
WORKLOAD_REPLAY_MODE
DBTIMEZONE 00:00
32 rows selected.
SQL>
深入确认字符集
SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,
DECODE(TYPE#, 1,
DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2', 'UNKOWN'),
9,
DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
96,
DECODE(CHARSETFORM, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112,
DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
FROM SYS.COL$
WHERE CHARSETFORM IN (1, 2)
AND TYPE# IN (1, 9, 96, 112);
确认操作系统字符集设置
[ora11g@bj55 ~]$ export NLS_LANG=american_america.al32utf8
4. 填写测试数据
。。。。
SQL> insert into player values (17, '下午啦');
1 row created.
SQL> insert into player values (20, '八千米死亡线');
SQL> set pagesize 60
SQL> select * from player;
ID NAME
1 中文
2 中文拼音
3 笔画输入法
4 一
5 二
6 三
7 四
8 五
9 六
10 七
12 八1
13 八2
14 九1
15 十
16 测试啊
17 下午啦
20 八千米死亡线
17 rows selected.
SQL>
5. 开始测试,发现三个查询语句返回的结果一致
SQL> select * from player order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
ID NAME
---------- --------------------
4 一
15 十
7 四
10 七
9 六
8 五
6 三
3 笔画输入法
13 八2
14 九1
12 八1
5 二
1 中文
17 下午啦
2 中文拼音
16 测试啊
20 八千米死亡线
17 rows selected.
SQL> select * from player order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
ID NAME
---------- --------------------
4 一
15 十
7 四
10 七
9 六
8 五
6 三
3 笔画输入法
13 八2
14 九1
12 八1
5 二
1 中文
17 下午啦
2 中文拼音
16 测试啊
20 八千米死亡线
17 rows selected2881064151.
SQL> select * from player order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
ID NAME
---------- --------------------------------
4 一
15 十
7 四
10 七
9 六
8 五
6 三
3 笔画输入法
13 八2
14 九1
12 八1
5 二
1 中文
17 下午啦
2 中文拼音
16 测试啊
20 八千米死亡线
17 rows selected.
最新文章
- SQL Tuning 基础概述08 - SQL Tuning Advisor
- nodejs中异常错误的处理方式
- 【C#】【Thread】Barrier任务并行
- Maven的安装配置
- virtualBox切换到无缝模式后,如何调出菜单
- libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
- memcached增删改查
- left join 改写标量子查询
- Performance Optimization (2)
- RESTClient 控件 从服务器获得数据集 REST
- BNU 4067 求圆并
- chapter8_2 预编译
- 演示 Calendar 的一般操作
- SpringMVC源码之参数解析绑定原理
- Linux之网络管理
- Python实现RSA无填充加密,兼容BouncyCastle
- PHP取微信access_token并全局存储与更新
- tkinter学习系列之(八) Canvas控件
- PHP字符串替换函数
- [开源,学习,分享]UWP第三方简书客户端分享
热门文章
- windows 7 64位出现Oracle中文乱码
- WCF+Nhibernate循环引用导致序列化的问题
- ns-3 的下载、编译以及 Eclipse 的相关配置
- sublime自定义代码段
- Windows 2012 R2 安装Nessus
- 使用IDEA实现tomcat的热加载
- 多了解一下Chrome开发者控制台
- WebService连接sql serever并使用Android端访问数据
- 【Linux】使用 telnet 提示 Escape character is '^]'的意义
- UVALive - 3507 Keep the Customer Satisfied