当前位置: 代码迷 >> Oracle开发 >> 求教SQL语句转换ORACLE语句的有关问题
  详细解决方案

求教SQL语句转换ORACLE语句的有关问题

热度:35   发布时间:2016-04-24 06:41:10.0
求教SQL语句转换ORACLE语句的问题
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中该用什么语句替代?
------解决方案--------------------
引用:
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;
  相关解决方案