SQL 中文首字母提取与自定义排序
中文首字母提取
利用汉字编码边界值提取
--中文转首字母
select case when regexp_like(t.party_name,'^[a-zA-Z0-9]') then upper(substr(t.party_name,0,1))
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('吖', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('驁', 'NLS_SORT=SCHINESE_PINYIN_M') then 'A'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('八', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('簿', 'NLS_SORT=SCHINESE_PINYIN_M') then 'B'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('嚓', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('錯', 'NLS_SORT=SCHINESE_PINYIN_M') then 'C'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('咑', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('鵽', 'NLS_SORT=SCHINESE_PINYIN_M') then 'D'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('妸', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('樲', 'NLS_SORT=SCHINESE_PINYIN_M') then 'E'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('发', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('猤', 'NLS_SORT=SCHINESE_PINYIN_M') then 'F'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('旮', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('腂', 'NLS_SORT=SCHINESE_PINYIN_M') then 'G'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('妎', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('夻', 'NLS_SORT=SCHINESE_PINYIN_M') then 'H'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('丌', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('攈', 'NLS_SORT=SCHINESE_PINYIN_M') then 'J'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('咔', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('穒', 'NLS_SORT=SCHINESE_PINYIN_M') then 'K'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('垃', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('擽', 'NLS_SORT=SCHINESE_PINYIN_M') then 'L'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('嘸', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('椧', 'NLS_SORT=SCHINESE_PINYIN_M') then 'M'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('拏', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('瘧', 'NLS_SORT=SCHINESE_PINYIN_M') then 'N'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('筽', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('漚', 'NLS_SORT=SCHINESE_PINYIN_M') then 'O'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('妑', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('曝', 'NLS_SORT=SCHINESE_PINYIN_M') then 'P'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('七', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('裠', 'NLS_SORT=SCHINESE_PINYIN_M') then 'Q'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('亽', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('鶸', 'NLS_SORT=SCHINESE_PINYIN_M') then 'R'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('仨', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('蜶', 'NLS_SORT=SCHINESE_PINYIN_M') then 'S'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('侤', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('籜', 'NLS_SORT=SCHINESE_PINYIN_M') then 'T'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('屲', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('鶩', 'NLS_SORT=SCHINESE_PINYIN_M') then 'W'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('夕', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('鑂', 'NLS_SORT=SCHINESE_PINYIN_M') then 'X'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('丫', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('韻', 'NLS_SORT=SCHINESE_PINYIN_M') then 'Y'
when NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')>=NLSSORT('帀', 'NLS_SORT=SCHINESE_PINYIN_M') and
NLSSORT(t.party_name, 'NLS_SORT=SCHINESE_PINYIN_M')<=NLSSORT('咗', 'NLS_SORT=SCHINESE_PINYIN_M') then 'Z'
else substr(t.party_name,0,1)
end AS word,t.* from party.cb_group_party t ;
排序,a-z 0-9 特殊字符
select * from party.cb_group_party t order by translate(t.party_name,'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'||t.party_name,'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ')nulls last;
mysql版本
select * from test order by names REGEXP '^[0-9]', convert(names USING gbk);
SQL 中文首字母提取与自定义排序相关推荐
- php按中文排序,php按照中文首字母排序
1> 网络上很多php的工具类可以将汉字转为拼音: 2> 将拼音进行排序即可 另一种则是类似mysql转码方式: 1 foreach ($array as $key=>$value) ...
- php 提取字的首字母,PHP提取中文首字母_php技巧
PHP提取中文首字母_php技巧 代码如下: function pykey( $py_key) { $pinyin = 65536 + pys($py_key); if ( 45217 <= $ ...
- java首字母排序_Java实现按中文首字母排序的具体实例
这篇文章主要介绍了Java实现按中文首字母排序的具体实例,有需要的朋友可以参考一下 要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数 ...
- 数字排在最前,英文字母其次,汉字则按照拼音进行排序,获取中文首字母
中文名称,按照A-Z方式进行排序. import cn.hutool.extra.pinyin.PinyinUtil; import com.alibaba.nacos.client.utils.St ...
- js中文首字母排序(二)
前面写了一篇 js中文首字母排序(一) 链接:http://www.alexpers.com/opuscule/chineseSort/sort.html 文章主要是应用过来js的两个方法,sort( ...
- Qt中实现获取中文首字母(GB2312 和 unicode以及调用Unihan实现全汉字拼音转换,支持多音字和生僻字等)和中英文数字排序功能
Qt5中可以通过qSort接口,结合QLocale类和QCollator类,可以对中文,英文,数字进行排序,但默认排序顺序为数字.英文.中文,但如果需要中英文混合排序的话,需要另外封装方法实现. 这种 ...
- java实现字母排序_Java实现按中文首字母排序的具体实例
要实现"按中文首字母排序"操作,可以使用java.util包下的arrays类的sort()函数. arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...
- 使用Java对中文首字母进行排序
前言 最近由于工作需求,需要对行政区划根据中文首字母进行排序,在网上查了些资料,没有什么收获,基本上都是千篇一律.相互"借鉴".因此本人在此做一个整理,以备后续不时之需. 废话不多 ...
- java字母排序_【Java】实现按中文首字母排序 | 学步园
要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数. Arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...
最新文章
- JavaScript内置函数及API
- 企业网络推广浅析网站首页什么样的布局有利于优化?
- 本地Git连接服务器git不用每次输入用户名和密码的方法
- Flv网络播放器制作全攻略
- VTK修炼之道39:图像平滑_各向异性滤波
- Nodejs 和PHP 性能测试结果
- python -- 计算 平方、乘方、平方根_从零开始学习PYTHON3讲义(二)把Python当做计算器...
- linux下解压大于4G文件提示error: Zip file too big错误的解决办法
- 第一章 计算机网络 5 分层结构/协议/接口/服务的概念 [计算机网络笔记]
- 评估指标_机器学习评估方法与评估指标总结
- 数据库建表设计规范及原则
- linux操作命令 mongo_MongoDB常用操作命令整理
- 攻防世界-WEB-新手-command_execution
- python生成双层pdf
- ADT公司G729 方案指标
- 基于一维卷积神经网络模型的AI量化智能选股策略
- abp框架java_ABP框架的体系结构及模块系统讲解
- ADO访问Excel 2007
- pmp效益管理计划和做题技巧
- 清北毕业生5年来去向大数据:北大偏爱银行,清华更倾向国网,华为堪称最大黑洞-1
热门文章
- 双击打开Excel2016文件后无法直接显示文件内容的解决办法
- 关于SAPI的两段小代码(c++)
- kafka对单分区重设偏移量
- 空间注意力 通道注意力_注意力发生了什么变化?
- 设置计算机ip地址时网关的作用是什么,IP地址小课堂:起到门户作用的网关到底有多重要?...
- 佳文分享:我个人比较受用的一些习惯
- 月星当空,月光洒落树梢透进窗户,白的苦楚,寥寂随之上心头
- 2022年1~8月语音合成(TTS)和语音识别(ASR)论文月报
- 2018-3-25至2018-8-9的日语笔记
- 通过plotly.express库和Flask框架部署企鹅数据可视化的网页