CREATE TABLE EPYB_YPDZLS (
jlxh numeric (12, 0) NOT NULL ,
YPXH numeric (6, 0) NULL ,
ypmc char (40) COLLATE Chinese_PRC_CI_AI NULL ,
ypgg char (20) COLLATE Chinese_PRC_CI_AI NULL ,
ypdw char (4) COLLATE Chinese_PRC_CI_AI NULL ,
jxyb char (20) COLLATE Chinese_PRC_CI_AI NULL ,
pydm char (8) COLLATE Chinese_PRC_CI_AI NULL ,
jxybspbz char (3) COLLATE Chinese_PRC_CI_AI NULL ,
yybm char (20) COLLATE Chinese_PRC_CI_AI NULL ,
PRIMARY KEY (JLXH)) ;
上面是SQL中建表的语句,到oracle中,collate 这个排序规则的语句不认,在oracle中该用什么语句替代?
------解决方案--------------------
在查询的时候指定排序方式,如:
select * from table order by nlssort(col,'NLS_SORT=SCHINESE_STROKE_M');
也可以修改SESSION级别的排序方式:
alter session set nls_sort = SCHINESE_PINYIN_M;