下文讲述计算汉字笔画数的sql函数分享,如下所示:

PS:这里再为大家推荐几款相关在线工具供大家参考使用:

1.在Oracle的官方文档中关于排序有如下描述
“Linguistic Sorts”

其中表“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
注释:简体中文按照第一顺序是“部首”第二顺序是“笔画数”进行排序;

 

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》及《PHP错误与异常处理方法总结》

如果数据库字符集选用的是ZH16GBK,那么使用order
by默认是按照汉字的“二进制编码”顺序进行排序的。有方法改变这个默认规则么?
答案是肯定的,Oracle针对简体中文提供三种排序方法,主要是围绕“拼音”、“部首”和“笔画数”展开的。
通过实验,给大家展示一下NLSSORT在改变简体汉字排序规则方面的魅力。

例:建立汉字笔画数sql函数 

在线汉字转换成拼音工具:

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;

转自:http://www.maomao365.com/?p=6421

在线汉字五笔编码/拼音/部首查询工具:

X






6 rows selected.

可见,此时的默认汉字排序规则是“拼音”。

5.使用nlssort强制按照拼音排序的方法
sec@secooler> select * from t order by
nlssort(x,’NLS_SORT=SCHINESE_PINYIN_M’);

摘要:

无意中看到这么个东西,用PHP得到汉字的笔画数。以类的方式实现,有那么点意思,先留下了。

5)TCHINESE_STROKE_M
Traditional Chinese sort uses number of strokes as primary order and
radical as secondary order. It supports supplementary characters.
注释:繁体中文按照第一顺序“笔画数”是第二顺序是“部首”进行排序;

发表评论

电子邮件地址不会被公开。 必填项已用*标注