`
kt431128
  • 浏览: 37046 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ORACLE中文字段排序

 
阅读更多

ORACLE中文字段排序

做一个2个数据库间数据比较工具时遇到ORACLE中汉字排序的问题。
使用一下SQL

select * 
from T_0303003 
order by stock_holder

进行选取数据时(stock_holder为存放中文的字段),结果发现两库返回的记录顺序不一致。琢磨之后应该为字符集问题,一个库字符集为系统默认字符集,另一个库为UTF-8字符集。查找资料后发现,对于中文字段的排序,应该使用以下方式:

-- 按拼音排序 (系统默认)
select * 
from T_0303003 
order by nlssort(stock_holder,'NLS_SORT=SCHINESE_PINYIN_M');

-- 按部首排序 
select * 
from T_0303003 
order by nlssort(stock_holder,'NLS_SORT=SCHINESE_RADICAL_M');

-- 按笔画排序 
select * 
from T_0303003 
order by nlssort(stock_holder,'NLS_SORT=SCHINESE_STROKE_M');

ORACL官方论坛讨论:
http://www.oracle-database.cn/oracle_database_It-english-database-0-251288.html
Have found a strange question recently, arrange in an order Chinese character order by in oracle, " crocodile's word has been ranked at the end to appear! Whether there is such a situation to know the greater part. Whether it is bug i 

-----------------------------------------------------------
NLS _ SORT? ??
answer2: 
r> -----------------------------------------------------------
1 perhaps this word is many sound words. 2 says and says according to what way you want to arrange in an order. 
ans wer3: 

-----------------------------------------------------------
arranges in an order according to the spelling, should need to set up NLS _ SORT. Have Still in test test finish tell and then you body. 
answer4: 

-----------------------------------------------------------
O In RACLE, arrange in an order question 1. //Arrange in an order 2 according to the stroke. select * from dept order by nlssort(name,NLS _ SORT =SCHINESE _ STROKE _ M); 3.//Press Take the radical and arrange in an order 4. select * from dept order by nlssort(name,NLS _ SORT =SCHINESE _ RADICAL _ M); 5.//Arrange in an order according to the spelling, this arranges in an order the side for systematic acquiescenc Formula 6. select * from dept order by nlssort(name,NLS _ SORT =SCHINESE _ PINYIN _ M); Can revise NLS _ SORT parameter 
分享到:
评论

相关推荐

    Oracle 中对中文字段进行排序.txt

    Oracle 中对中文字段进行排序.txt

    Oracle 中文字段进行排序的sql语句

    1)按笔画排序 select * from Table order by nlssort(columnName,’NLS_SORT=SCHINESE_STROKE_M’) 2)按部首排序 select * from Table order by nlssort(columnName,’NLS_SORT=SCHINESE_RADICAL_M’) 3)按拼音...

    oracle指定排序的方法详解

    Oracle9i之前,中文是按照二进制编码进行排序的。...2、Session级别的设置,修改ORACLE字段的默认排序方式: 按拼音:alter session set nls_sort = SCHINESE_PINYIN_M; 按笔画:alter session s

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    主要介绍了Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出的方法,其中ORDER BY的排序结果需要注意其是否稳定,需要的朋友可以参考下

    深入oracle特定信息排序的分析

    在Oracle查询中,如果在没有排序,但又想让某列中特定值的信息排到前面的时候,使用oracle的decode(字段,’字段值’,数字) 如 select name from user 查询出来的所有数据,如果想让 name=’张三’ 结果排到前面,则...

    oracle分析函数在BI分析中应用事例

    分析函数应用: ...Order by 跟排序字段,range时只能按一个字段排序,使用rows是可以跟多个字段排序 Range 可以使用range 100 preceding 也可跟between and 2、主题分析使用较多的分析函数讨论 Ⅰ、排序分析

    Oracle分析函数

    Oracle分析函数——函数列表 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算一个组和数据窗口内表达式的...

    oracle性能优化技巧

    ORACLE的优化器共有3种 A、RULE (基于规则) b、COST (基于成本) c、CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。 ...

    Oracle创建自增字段–ORACLE SEQUENCE的简单使用介绍

    先假设有这么一个表: 代码... 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREAT

    青云oracle工具

    2.在各个列表上点右键实现排序,过滤,查找,打印,导出多种格式,包括Access; 3.查看表结构非常方便,同时对表的数据维护调试也非常得顺手; 4.修改TABLE名,VIEW名,COLUMN信息非常方便,最关键的是对它们的备注...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    对SQL排序,只要在order by后面加字段就可以了,可以通过加desc或asc来选择降序或升序。但排序规则是默认的,数字、时间、字符串等都有自己默认的排序规则。有时候需要按自己的想法来排序,而不是按字段默认排序规则...

    sql正负数排序示例

    select * from t1 order by sign(A) desc,abs(A) asc

    oracle查询分页条件通用存储过程

    oracle数据库的查询分页加条件和排序的通用型存储过程,通过将表名以参数的形式传入到存储过程中做到多表通用,也可以是多表关联的sql语句 将其看作一个表也能调用该存储过程,分页只需要传与页数,和每页显示的行数...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    Oracle练习笔试大全

    //(按照多个字段排序 首先按照deptno升序排列,当detpno相同时,内部再按照ename的降序排列) 29、select lower(ename) from emp; //(函数lower() 将ename搜索出来后全部转化为小写); 30、select ename from emp ...

    Oracle10g自定义聚合函数(字符串拼接)

    * 可自定义指定排序字段sequence,对于数字或日期类型的字段,先转为字符串,比如to_char(line, 'FM000') * 由于聚合函数只支持一个参数,这里使用对象类型实现传入多个参数 * Oracle11g Release2版本引入了...

    OracleDbTools.rar 青云oracle超人性化工具

    2.在各个列表上点右键实现排序,过滤,查找,打印,导出多种格式,包括Access; 3.查看表结构非常方便,同时对表的数据维护调试也非常得顺手; 4.修改TABLE名,VIEW名,COLUMN信息非常方便,最关键的是对它们的备注...

    Oracle绿色版免安装数据库客户端管理工具

    在各个列表上点右键实现排序,过滤,查找,打印,导出多种格式,包括Access.3.查看表结构非常方便,同时对表的数据维护调试也非常得顺手.4.修改TABLE名,VIEW名,COLUMN信息非常方便,最关键的是对它们的备注修改非常方便...

    SQL Server-My SQL-Oracle数据字典生成工具chm.zip

    4、修复 偶然出现 字段排序混乱的 BUG; 5、修复 由于表的描述中含有 特殊字符 导致的 生成 CHM 格式文档卡死的BUG; V1.0【2014-07】 数据字典生成工具,用于生成 数据库表 及字段说明,主要特征如下: 1、支持的...

Global site tag (gtag.js) - Google Analytics