- 浏览: 1156115 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (411)
- Java Foundation (41)
- AI/机器学习/数据挖掘/模式识别/自然语言处理/信息检索 (2)
- 云计算/NoSQL/数据分析 (11)
- Linux (13)
- Open Source (12)
- J2EE (52)
- Data Structures (4)
- other (10)
- Dev Error (41)
- Ajax/JS/JSP/HTML5 (47)
- Oracle (68)
- FLEX (19)
- Tools (19)
- 设计模式 (4)
- Database (12)
- SQL Server (9)
- 例子程序 (4)
- mysql (2)
- Web Services (4)
- 面试 (8)
- 嵌入式/移动开发 (18)
- 软件工程/UML (15)
- C/C++ (7)
- 架构Architecture/分布式Distributed (1)
最新评论
-
a535114641:
LZ你好, 用了这个方法后子页面里的JS方法就全不能用了呀
页面局部刷新的两种方式:form+iframe 和 ajax -
di1984HIT:
学习了,真不错,做个记号啊
Machine Learning -
赵师傅临死前:
我一台老机器,myeclipse9 + FB3.5 可以正常使 ...
myeclipse 10 安装 flash builder 4.6 -
Wu_Jiang:
触发时间在将来的某个时间 但是第一次触发的时间超出了失效时间, ...
Based on configured schedule, the given trigger will never fire. -
cylove007:
找了好久,顶你
Editable Select 可编辑select
关于oracle order by排序:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch5lingsort.htm#i1008198
Oracle provides the following types of sorts:
Binary sort
Monolingual linguistic sort
Multilingual linguistic sort
注:后两种可统一为linguistic(语言的) sort
关于NLS:National Language Support
Setting NLS Parameters:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch3globenv.htm#NLSPG003
查看数据库NLS相关信息:
查看当前会话NLS相关信息:
关于Oracle汉字order by:
http://www.kods.net/common-statement-oracle/
37. Chinese is how to sort?
Prior to Oracle9i, the Chinese are in accordance with the sort of binary encoding.
Added in oracle9i in accordance with pinyin, radical, stroke order functions. Set NLS_SORT value
SCHINESE_RADICAL_M in accordance with the radical (first order), stroke (second order) Sort
SCHINESE_STROKE_M in accordance with the stroke (first order), radicals (second order) Sort
SCHINESE_PINYIN_M sorted according to Pinyin
汉字排序须综合考虑数据库字符集、NLS_SORT。
查看版本信息:
查看数据库字符集:
如果字符集为ZHS16GBK/ZH16GBK,那么使用order by默认是按照汉字的拼音顺序进行排序的;如果为其他(如UTF8),那么汉字的排序是按照BINARY排序的。
数据库字符集不为中文字符集的情况下怎样让其按照汉字拼音排序?答案是设置NLS_SORT。
NLS_SORT specifies the collating sequence for ORDER BY queries
查看NLS_SORT:
字符集为中文字符集、NLS_SORT为BINARY时,汉字是按汉字拼音排序;
字符集为非中文字符集(如UTF8)、NLS_SORT为BINARY时,汉字按二进制编码(BINARY)排序。
所以,对非中文字符集库:
一 可通过设置其NLS_SORT来实现汉字的定制化排序;改变当前会话的NLS_SORT:
上述语句只可改变当前session的NLS_SORT;执行"ALTER system SET NLS_SORT = SCHINESE_PINYIN_M"欲改变整个数据库的NLS_SORT,提示"ORA-02096: 此选项的指定初始化参数不可修改",为什么?因为该参数无法在数据库启动的情况下动态修改:
http://www.unix-center.net/bbs/viewthread.php?tid=13853
http://kr.forums.oracle.com/forums/thread.jspa?threadID=211579
到底怎么修改整个数据库的NLS_SORT那?有待继续考证(参照这个帖子做考证:http://forums.oracle.com/forums/thread.jspa?threadID=917930)
二 也可在查询时指定NLS_SORT:
1、使用拼音排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_PINYIN_M');
2、使用笔画排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_STROKE_M');
3、使用偏旁部首排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_RADICAL_M');
总:
http://www.kods.net/oracle-database-scheduling-problem-by-the-chinese-alphabet-nls-sort-set/
Prior to Oracle9i, the Chinese is based on binary coding to sort. The oracle9i added in accordance with the phonetic, radical, stroke sorting.
1, set parameter values NLS_SORT
SCHINESE_RADICAL_M accordance with the radical (first order), stroke (second order) to sort
SCHINESE_STROKE_M accordance with the stroke (first order), radical (second order) to sort
SCHINESE_PINYIN_M sorted according to Pinyin
2, Session-level settings, modify the default ORACLE field Sort by:
According to Pinyin: alter session set nls_sort = SCHINESE_PINYIN_M;
According to stroke: alter session set nls_sort = SCHINESE_STROKE_M;
According to the radical: alter session set nls_sort = NLS_SORT = SCHINESE_RADICAL_M;
3, the statement level is set Sort by:
Oracle according to alphabetical order
Select * From [tablename] order By nlssort (colname, 'NLS_SORT = SCHINESE_STROKE_M');
Oracle accordance with the radical sort
Select * From [tablename] order By nlssort (colname, 'NLS_SORT = SCHINESE_RADICAL_M');
Oracle sorted according to Pinyin
Select * From [tablename] order By nlssort (colname, 'NLS_SORT = SCHINESE_PINYIN_M');
4, modify the system parameters (database where the operating system):
set NLS_SORT = SCHINESE_RADICAL_M; export NLS_SORT (sh)
setenv NLS_SORT SCHINESE_RADICAL_M (csh)
HKLC \ SOFTWARE \ ORACLE \ home0 \ NLS_SORT (win registry)
关于NLS_SORT:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams130.htm
关于NLSSORT函数:
http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/functions111.htm#SQLRF00678
关于SCHINESE_RADICAL_M、SCHINESE_STROKE_M、SCHINESE_PINYIN_M等:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#g683050
改变Oralce 对简体汉字的排序规则:
http://space.itpub.net/519536/viewspace-627797
如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的拼音顺序进行排序的。有方法改变这个默认规则么?
答案是肯定的,Oracle针对简体中文提供三种排序方法,主要是围绕“拼音”、“部首”和“笔画数”展开的。
通过实验,给大家展示一下NLSSORT在改变简体汉字排序规则方面的魅力。
1.在Oracle的官方文档中关于排序有如下描述
“Linguistic Sorts”
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#sthref2000
其中表“Table A-15 Multilingual LInguistic Sorts”中我们关注一下有关中文排序的内容(前三条与简体中文排序有关,后两条与繁体中文排序有关):
1)SCHINESE_RADICAL_M
Simplified Chinese sort based on radical as primary order and number of strokes order as secondary order
注释:简体中文按照第一顺序是“部首”第二顺序是“笔画数”进行排序;
2)SCHINESE_STROKE_M
Simplified Chinese sort uses number of strokes as primary order and radical as secondary order
注释:简体中文按照第一顺序“笔画数”是第二顺序是“部首”进行排序;
3)SCHINESE_PINYIN_M
Simplified Chinese PinYin sorting order
注释:简体中文按照“拼音”进行排序;
4)TCHINESE_RADICAL_M
Traditional Chinese sort based on radical as primary order and number of strokes order as secondary order
注释:繁体中文按照第一顺序是“部首”第二顺序是“笔画数”进行排序;
5)TCHINESE_STROKE_M
Traditional Chinese sort uses number of strokes as primary order and radical as secondary order. It supports supplementary characters.
注释:繁体中文按照第一顺序“笔画数”是第二顺序是“部首”进行排序;
2.创建实验表T,并初始化六条记录
sec@secooler> create table t (x varchar2(10));
sec@secooler> insert into t values ('侯');
sec@secooler> insert into t values ('你');
sec@secooler> insert into t values ('做');
sec@secooler> insert into t values ('拉');
sec@secooler> insert into t values ('推');
sec@secooler> insert into t values ('拆');
sec@secooler> commit;
sec@secooler> select * from t;
X
------------------------------
侯
你
做
拉
推
拆
6 rows selected.
3.确认数据库版本和数据库字符集
sec@secooler> select * from v$version;
BANNER
----------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
sec@secooler> select userenv('language') from dual;
USERENV('LANGUAGE')
-----------------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
4.在此环境下,查看默认的汉字排序规则
sec@secooler> select * from t order by x;
X
------------------------------
拆
侯
拉
你
推
做
6 rows selected.
可见,此时的默认汉字排序规则是“拼音”。
5.使用nlssort强制按照拼音排序的方法
sec@secooler> select * from t order by nlssort(x,'NLS_SORT=SCHINESE_PINYIN_M');
X
------------------------------
拆
侯
拉
你
推
做
6 rows selected.
6.使用nlssort强制按照“部首”(第一顺序)和“笔画数”(第二顺序)排序的方法
sec@secooler> select * from t order by nlssort(x,'NLS_SORT=SCHINESE_RADICAL_M');
X
------------------------------
你
侯
做
拆
拉
推
6 rows selected.
单人旁的汉字在前,提手旁汉字在后;单人旁的三个汉字进一步又是按照笔画数多少进行的排序。
7.使用nlssort强制按照“笔画数”(第一顺序)和“部首”(第二顺序)排序的方法
sec@secooler> select * from t order by nlssort(x,'NLS_SORT=SCHINESE_STROKE_M');
X
------------------------------
你
拆
拉
侯
做
推
6 rows selected.
可见,越往后的汉字的笔画数越多。
8.Oracle官方文档中关于NSLSORT函数的描述参考
http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/functions111.htm#SQLRF00678
9.小结
NSLSORT函数在国际化支持上提供了一个非常好的排序解决方案。在具体应用环境下有其重要的意义。善用之。
Good luck.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch5lingsort.htm#i1008198
引用
Oracle provides the following types of sorts:
Binary sort
Monolingual linguistic sort
Multilingual linguistic sort
注:后两种可统一为linguistic(语言的) sort
关于NLS:National Language Support
Setting NLS Parameters:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch3globenv.htm#NLSPG003
查看数据库NLS相关信息:
select * from nls_database_parameters;
查看当前会话NLS相关信息:
select * from nls_session_parameters;
关于Oracle汉字order by:
http://www.kods.net/common-statement-oracle/
引用
37. Chinese is how to sort?
Prior to Oracle9i, the Chinese are in accordance with the sort of binary encoding.
Added in oracle9i in accordance with pinyin, radical, stroke order functions. Set NLS_SORT value
SCHINESE_RADICAL_M in accordance with the radical (first order), stroke (second order) Sort
SCHINESE_STROKE_M in accordance with the stroke (first order), radicals (second order) Sort
SCHINESE_PINYIN_M sorted according to Pinyin
汉字排序须综合考虑数据库字符集、NLS_SORT。
查看版本信息:
select * from v$version;
查看数据库字符集:
SELECT userenv('language') FROM dual;
如果字符集为ZHS16GBK/ZH16GBK,那么使用order by默认是按照汉字的拼音顺序进行排序的;如果为其他(如UTF8),那么汉字的排序是按照BINARY排序的。
数据库字符集不为中文字符集的情况下怎样让其按照汉字拼音排序?答案是设置NLS_SORT。
NLS_SORT specifies the collating sequence for ORDER BY queries
查看NLS_SORT:
引用
查看整个数据库的:
查看当前会话的:
select value from nls_database_parameters where parameter='NLS_SORT';
查看当前会话的:
select value from nls_session_parameters where parameter='NLS_SORT';
字符集为中文字符集、NLS_SORT为BINARY时,汉字是按汉字拼音排序;
字符集为非中文字符集(如UTF8)、NLS_SORT为BINARY时,汉字按二进制编码(BINARY)排序。
所以,对非中文字符集库:
一 可通过设置其NLS_SORT来实现汉字的定制化排序;改变当前会话的NLS_SORT:
ALTER session SET NLS_SORT = SCHINESE_PINYIN_M
上述语句只可改变当前session的NLS_SORT;执行"ALTER system SET NLS_SORT = SCHINESE_PINYIN_M"欲改变整个数据库的NLS_SORT,提示"ORA-02096: 此选项的指定初始化参数不可修改",为什么?因为该参数无法在数据库启动的情况下动态修改:
http://www.unix-center.net/bbs/viewthread.php?tid=13853
http://kr.forums.oracle.com/forums/thread.jspa?threadID=211579
到底怎么修改整个数据库的NLS_SORT那?有待继续考证(参照这个帖子做考证:http://forums.oracle.com/forums/thread.jspa?threadID=917930)
二 也可在查询时指定NLS_SORT:
引用
1、使用拼音排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_PINYIN_M');
2、使用笔画排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_STROKE_M');
3、使用偏旁部首排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_RADICAL_M');
http://www.kods.net/oracle-database-scheduling-problem-by-the-chinese-alphabet-nls-sort-set/
引用
Prior to Oracle9i, the Chinese is based on binary coding to sort. The oracle9i added in accordance with the phonetic, radical, stroke sorting.
1, set parameter values NLS_SORT
SCHINESE_RADICAL_M accordance with the radical (first order), stroke (second order) to sort
SCHINESE_STROKE_M accordance with the stroke (first order), radical (second order) to sort
SCHINESE_PINYIN_M sorted according to Pinyin
2, Session-level settings, modify the default ORACLE field Sort by:
According to Pinyin: alter session set nls_sort = SCHINESE_PINYIN_M;
According to stroke: alter session set nls_sort = SCHINESE_STROKE_M;
According to the radical: alter session set nls_sort = NLS_SORT = SCHINESE_RADICAL_M;
3, the statement level is set Sort by:
Oracle according to alphabetical order
Select * From [tablename] order By nlssort (colname, 'NLS_SORT = SCHINESE_STROKE_M');
Oracle accordance with the radical sort
Select * From [tablename] order By nlssort (colname, 'NLS_SORT = SCHINESE_RADICAL_M');
Oracle sorted according to Pinyin
Select * From [tablename] order By nlssort (colname, 'NLS_SORT = SCHINESE_PINYIN_M');
4, modify the system parameters (database where the operating system):
set NLS_SORT = SCHINESE_RADICAL_M; export NLS_SORT (sh)
setenv NLS_SORT SCHINESE_RADICAL_M (csh)
HKLC \ SOFTWARE \ ORACLE \ home0 \ NLS_SORT (win registry)
关于NLS_SORT:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams130.htm
关于NLSSORT函数:
http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/functions111.htm#SQLRF00678
关于SCHINESE_RADICAL_M、SCHINESE_STROKE_M、SCHINESE_PINYIN_M等:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#g683050
改变Oralce 对简体汉字的排序规则:
http://space.itpub.net/519536/viewspace-627797
引用
如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的拼音顺序进行排序的。有方法改变这个默认规则么?
答案是肯定的,Oracle针对简体中文提供三种排序方法,主要是围绕“拼音”、“部首”和“笔画数”展开的。
通过实验,给大家展示一下NLSSORT在改变简体汉字排序规则方面的魅力。
1.在Oracle的官方文档中关于排序有如下描述
“Linguistic Sorts”
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#sthref2000
其中表“Table A-15 Multilingual LInguistic Sorts”中我们关注一下有关中文排序的内容(前三条与简体中文排序有关,后两条与繁体中文排序有关):
1)SCHINESE_RADICAL_M
Simplified Chinese sort based on radical as primary order and number of strokes order as secondary order
注释:简体中文按照第一顺序是“部首”第二顺序是“笔画数”进行排序;
2)SCHINESE_STROKE_M
Simplified Chinese sort uses number of strokes as primary order and radical as secondary order
注释:简体中文按照第一顺序“笔画数”是第二顺序是“部首”进行排序;
3)SCHINESE_PINYIN_M
Simplified Chinese PinYin sorting order
注释:简体中文按照“拼音”进行排序;
4)TCHINESE_RADICAL_M
Traditional Chinese sort based on radical as primary order and number of strokes order as secondary order
注释:繁体中文按照第一顺序是“部首”第二顺序是“笔画数”进行排序;
5)TCHINESE_STROKE_M
Traditional Chinese sort uses number of strokes as primary order and radical as secondary order. It supports supplementary characters.
注释:繁体中文按照第一顺序“笔画数”是第二顺序是“部首”进行排序;
2.创建实验表T,并初始化六条记录
sec@secooler> create table t (x varchar2(10));
sec@secooler> insert into t values ('侯');
sec@secooler> insert into t values ('你');
sec@secooler> insert into t values ('做');
sec@secooler> insert into t values ('拉');
sec@secooler> insert into t values ('推');
sec@secooler> insert into t values ('拆');
sec@secooler> commit;
sec@secooler> select * from t;
X
------------------------------
侯
你
做
拉
推
拆
6 rows selected.
3.确认数据库版本和数据库字符集
sec@secooler> select * from v$version;
BANNER
----------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
sec@secooler> select userenv('language') from dual;
USERENV('LANGUAGE')
-----------------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
4.在此环境下,查看默认的汉字排序规则
sec@secooler> select * from t order by x;
X
------------------------------
拆
侯
拉
你
推
做
6 rows selected.
可见,此时的默认汉字排序规则是“拼音”。
5.使用nlssort强制按照拼音排序的方法
sec@secooler> select * from t order by nlssort(x,'NLS_SORT=SCHINESE_PINYIN_M');
X
------------------------------
拆
侯
拉
你
推
做
6 rows selected.
6.使用nlssort强制按照“部首”(第一顺序)和“笔画数”(第二顺序)排序的方法
sec@secooler> select * from t order by nlssort(x,'NLS_SORT=SCHINESE_RADICAL_M');
X
------------------------------
你
侯
做
拆
拉
推
6 rows selected.
单人旁的汉字在前,提手旁汉字在后;单人旁的三个汉字进一步又是按照笔画数多少进行的排序。
7.使用nlssort强制按照“笔画数”(第一顺序)和“部首”(第二顺序)排序的方法
sec@secooler> select * from t order by nlssort(x,'NLS_SORT=SCHINESE_STROKE_M');
X
------------------------------
你
拆
拉
侯
做
推
6 rows selected.
可见,越往后的汉字的笔画数越多。
8.Oracle官方文档中关于NSLSORT函数的描述参考
http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/functions111.htm#SQLRF00678
9.小结
NSLSORT函数在国际化支持上提供了一个非常好的排序解决方案。在具体应用环境下有其重要的意义。善用之。
Good luck.
发表评论
-
Oracle: minus | in | exists
2012-09-05 13:49 1506解释及例子: MINUS Query: http://www. ... -
一个奇怪的Oracle sql问题
2011-01-13 16:13 1381select A.M,B.N from Table1 A ... -
Oracle Analytic Functions:RANK, DENSE_RANK, FIRST and LAST;PARTITION BY
2010-12-13 17:02 1333Oracle/PLSQL: Rank Function: ht ... -
Oracle Analytic Functions:RANK, DENSE_RANK, FIRST and LAST
2010-12-13 17:02 1280Oracle/PLSQL: Rank Function: ht ... -
Oracle:Collections Records Type %TYPE %ROWTYPE
2010-11-09 22:27 1280PL/SQL Collections and Records: ... -
Oracle Cursor 游标
2010-11-09 20:44 3061Oracle中Cursor介绍: http://www.ite ... -
Oracle 锁机制
2010-09-19 20:12 3735Oracle多粒度封锁机制研究: http://www.itp ... -
Oracle Data Dictionary 数据字典
2010-09-19 16:44 1560Oracle数据字典查阅: http://download.o ... -
Oracle Sign Function
2010-09-17 14:52 1477Oracle/PLSQL: Sign Function: ht ... -
Oracle Built-In Functions: Next_Day and Last_Day
2010-09-16 17:09 1554next_day(date,char): 它用来返回从第一个 ... -
Oracle Procedure 存储过程
2010-09-16 08:36 1376Oracle/PLSQL: Creating Procedur ... -
Oracle Exception Handle 异常处理
2010-09-15 13:00 2110Handling PL/SQL Errors: http:// ... -
Oracle 性能工具 : Explain plan、Autotrace、Tkprof
2010-09-14 18:07 2262Oracle: 三个内置的性能工具包 Explain plan ... -
关于Oracle数据和对象的导入导出 [转]
2010-09-14 10:25 1290关于Oracle数据和对象的导入导出 [转]: http:// ... -
Oracle jobs(DBMS_JOB and DBMS_SCHEDULER)
2010-07-21 14:14 7857写PL/SQL procedure的时候,一定要写的够健壮、够 ... -
Oracle 各种注释
2010-07-20 14:19 3678为SQL语句添加注释: http://do ... -
Oracle 监听 本地Net服务名 配置
2010-07-20 10:32 1335Oracle数据库配置: http://shupili1410 ... -
[Oracle]Difference between a database and an instance(数据库 实例 区别)
2010-07-20 09:31 1513Difference between a database a ... -
Oracle Bulk Collect
2010-07-16 10:03 1386On BULK COLLECT: http://www.ora ... -
Oracle/PLSQL: FOR Loop 循环语句
2010-07-15 16:43 9377Oracle/PLSQL: FOR Loop: http:// ...
相关推荐
在Oracle数据库中,排序(Sort)是SQL查询中不可或缺的一部分,`ORDER BY`子句用于决定查询结果的显示顺序。本篇文章将深入探讨Oracle数据库的日文排序机制,这对于在日本进行外包软件开发的工程师来说尤其重要。 ...
在Oracle数据库中处理中文数据时,经常需要对包含中文字符的数据表进行排序操作。为了确保排序结果符合预期并能够满足实际业务需求,我们需要掌握几种有效的汉字排序方法。本文将详细介绍如何在Oracle数据库中实现...
通过上述介绍,我们可以看到Oracle数据库提供了多种方式来设置汉字的排序规则,包括拼音排序、笔画排序和部首排序等。这些排序规则的设置不仅可以在会话级别进行,也可以在系统级别进行。对于不同的应用场景,可以...
Oracle9i及其后续版本提供了多种预定义的排序规则,其中包括针对中文排序的特殊规则。“NLS_SORT”参数用于控制查询结果的排序方式。在中文环境下,Oracle提供了三种主要的排序方式: 1. **按拼音排序**(`SCHINESE...
在Oracle数据库中,对于汉字排序的需求非常常见,尤其是在需要按照拼音或者笔画等规则进行排序的情况下。Oracle提供了一个强大的函数`NLSSORT()`来实现这种需求。 ##### 1. `NLSSORT()`函数详解 `NLSSORT()`函数...
1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理中文数据时非常有用。可以使用`NLSSORT`函数配合`NLS_SORT`参数来实现。例如,以下语句会按照汉语拼音对`danwei`字段进行升序排序: ```sql select...
你可以使用WHERE子句来过滤结果,GROUP BY和HAVING子句进行分组和条件过滤,以及ORDER BY子句来排序结果。 五、DML操作 INSERT语句用于向表中插入新记录,UPDATE语句用于修改现有记录,DELETE语句用于删除记录。...
在Oracle数据库中,对中文字段进行排序是一项常见的需求,特别是在处理中文字符的数据时。Oracle提供了多种方式来实现中文字段的排序,包括按照笔画、部首以及拼音。下面将详细阐述这些方法及其背后的原理。 首先,...
- **避免不必要的排序和临时表**:优化GROUP BY、ORDER BY和DISTINCT操作。 - **使用子查询优化**:理解并应用子查询合并和子查询消除技术。 5. **存储优化** - **分区技术**:了解范围、列表、哈希和组合分区,...
- Les02_过滤和排序数据.ppt进一步讲解了WHERE子句和ORDER BY子句的用法,这是进行数据筛选和排序的关键。 - Les03_单行函数.ppt介绍了如TO_CHAR、LOWER、UPPER等单行函数,用于数据转换和操作。 - Les04_多表...
其中,`SCHINESE_PINYIN_M` 表示使用简体中文拼音排序规则。 2. **MySQL数据库**: MySQL 可以通过 `CONVERT` 函数结合字符集转换来实现中文排序: ```sql SELECT * FROM table WHERE 1=1 ORDER BY CONVERT(t_....
ORDER BY语句可以用于对数据进行升序或降序排序,例如,SELECT * FROM s_emp ORDER BY salary DESC; 在使用Oracle数据库管理系统时,需要注意的一些命令和函数,例如,SHOW USER命令可以用于显示当前登录的身份,...
在这个“PLSQL排序 中文版”的资源包中,包含了多个与PLSQL排序相关的文件,如pag_sort_body.txt、pag_sort.txt、排序例程.txt等,它们可能是教程、代码示例或解释性文档,旨在帮助学习者理解和掌握PLSQL中的排序...
在Oracle数据库系统中,处理汉字拼音的需求时常出现,特别是在进行数据检索、中文排序或与中文字符串相关的业务逻辑中。"ORACLE-pinyin.rar_oracle_拼音"这个压缩包文件很可能包含了一个或多个实用的PL/SQL函数,...
它涉及了投影(选择列)、选择(过滤行)、联接(JOIN)、分组(GROUP BY)、聚合(COUNT、SUM、AVG等)和排序(ORDER BY)等操作。 5. 子查询:嵌套在其他查询中的查询,可以用来比较、过滤或计算数据,以满足复杂...
1. 数据查询:掌握SELECT语句的基本用法,包括字段选择、排序(ORDER BY)、分组(GROUP BY)和聚合函数(COUNT, SUM, AVG, MAX, MIN)。 2. 数据插入、更新与删除:学习INSERT, UPDATE, DELETE语句,以及如何处理...
这部分涵盖了从单表到多表查询的各种技巧,包括WHERE子句的过滤功能、ORDER BY子句的排序操作,以及各种连接类型,如等值连接、不等连接、外连接和自连接。此外,还讨论了如何处理空值、使用列别名和聚合函数,以及...
3. 查询语句:掌握SELECT语句,包括聚合函数(COUNT, SUM, AVG等)、分组(GROUP BY)、排序(ORDER BY)和连接(JOIN)操作。 4. 子查询:在主查询中嵌套查询,以获取更复杂的查询结果。 四、PL/SQL编程 PL/SQL是...
- **排序(OrderBy)**:实现结果集的排序,如`ORDER BY dept_id, salary DESC`表示按部门号升序,工资降序排列。 - **选择操作(Where)**:用于过滤数据,如`SELECT * FROM s_emp WHERE dept_id = 42`筛选部门号...