--1. 按拼音排序
DECLARE @t TABLE(col varchar(2))
INSERT @t SELECT '中'
UNION ALL SELECT '国'
UNION ALL SELECT '人'

SELECT * FROM @t ORDER BY col COLLATE Chinese_PRC_CS_AS_KS_WS
/*--结果
col  
----



--*/
GO

/*==========================================*/

--2. 汉字首字母查询处理用户定义函数
CREATE FUNCTION f_GetPY(@str nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
    DECLARE @py TABLE(
        ch char(1),
        hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
        hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
    INSERT @py SELECT 'A',N'吖',N'鏊'
    UNION  ALL SELECT 'B',N'八',N'簿'
    UNION  ALL SELECT 'C',N'嚓',N'错'
    UNION  ALL SELECT 'D',N'哒',N'跺'
    UNION  ALL SELECT 'E',N'屙',N'贰'
    UNION  ALL SELECT 'F',N'发',N'馥'
    UNION  ALL SELECT 'G',N'旮',N'过'
    UNION  ALL SELECT 'H',N'铪',N'蠖'
    UNION  ALL SELECT 'J',N'丌',N'竣'
    UNION  ALL SELECT 'K',N'咔',N'廓'
    UNION  ALL SELECT 'L',N'垃',N'雒'
    UNION  ALL SELECT 'M',N'妈',N'穆'
    UNION  ALL SELECT 'N',N'拿',N'糯'
    UNION  ALL SELECT 'O',N'噢',N'沤'
    UNION  ALL SELECT 'P',N'趴',N'曝'
    UNION  ALL SELECT 'Q',N'七',N'群'
    UNION  ALL SELECT 'R',N'蚺',N'箬'
    UNION  ALL SELECT 'S',N'仨',N'锁'
    UNION  ALL SELECT 'T',N'他',N'箨'
    UNION  ALL SELECT 'W',N'哇',N'鋈'
    UNION  ALL SELECT 'X',N'夕',N'蕈'
    UNION  ALL SELECT 'Y',N'丫',N'蕴'
    UNION  ALL SELECT 'Z',N'匝',N'做'
    DECLARE @i int
    SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
    WHILE @i>0
        SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
            ,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
        FROM @py
        WHERE SUBSTRING(@str,@i,1) BETWEEN hz1 AND hz2
    RETURN(@str)
END
GO

转载于:https://www.cnblogs.com/shihao/archive/2012/05/19/2508604.html

排序规则在拼音处理中的应用.sql相关推荐

  1. oracle10中文排序规则,【NLSSORT】改变Oralce 对简体汉字的排序规则(拼音、部首、笔画)...

    如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的"二进制编码"顺序进行排序的.有方法改变这个默认规则么?答案是肯定的,Oracle针对简体中文提供三 ...

  2. oracle10中文排序规则,【转】 【NLSSORT】改变Oralce 对简体汉字的排序规则(拼音、部首、笔画)...

    如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的拼音顺序进行排序的.有方法改变这个默认规则么?答案是肯定的,Oracle针对简体中文提供三种排序方法,主要是围绕&quo ...

  3. java mysql排序规则_在Java中使用MySQL排序规则

    精简版 我目前正在研究MySQL排序规则的问题以及它们如何影响一组值(使用Hibernate映射,但现在这不重要).我希望使用与MySQL使用相同的排序规则来设置一组字符串.例如.我希望"f ...

  4. mysql常用排序规则_在MySQL中,我应该选择哪种排序规则?

    当我通过phpmyadmin创建一个新的mysql数据库时,我可以选择排序规则(例如-default.armscii8.ascii-).和UTF-8).我知道的是utf-8,因为我总是在HTML源代码 ...

  5. mysql 回退查询_MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题...

    Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...

  6. 金仓数据库KingbaseES本地化支持(4. 排序规则)

    排序规则功能允许指定每一列甚至每一个操作的数据的排序顺序和字符分类行为.该功能取消了数据库的 LC_COLLATE 和 LC_CTYPE 在创建以后不能更改的限制. 排序规则概念 排序规则管理 4.1 ...

  7. Python自定义排序规则:functools.cmp_to_key()

    Python自定义排序规则:functools.cmp_to_key() 使用场景 fuctools.cmp_to_key()是用来自定义排序规则,类似于C++中的lambada函数一样,使得sort ...

  8. MySQL学习笔记3:排序规则和排序规则的影响

    一.排序规则概念 在mysql数据库中,排序规则是依赖字符集编码的,他们在mysql中经常是捆绑的存在. 排序规则一般指对字符集中字符串之间的比较.排序制定的规则.一种字符集可以对应多种排序规则,但是 ...

  9. SQL sever 排序规则介绍

    一.SQL Server 排序规则后缀含义 _BIN 指定使用向后兼容的二进制排序顺序. _BIN2 指定使用 SQL Server 2005 中引入的码位比较语义的二进制排序顺序. _Stroke ...

最新文章

  1. 格灵深瞳CTO邓亚峰:AI学习的三种路线
  2. 【阿里云课程】图像翻译GAN结构与应用
  3. SAP CRM HANA report模型的数据库存储表
  4. stream进行分组统计
  5. PHP内核通用网站后台权限管理系统源码
  6. 充分使用表格标签(Table)
  7. 草根最容易逆袭的地方就是互联网
  8. Java方法区和运行时常量池溢出问题分析(转)
  9. NMS(Non-maximum suppression)非极大抑制
  10. linux换硬盘网卡不能启动,服务器硬盘冷迁移后网卡无法启动问题
  11. 使用Objective-C的+(void)initialize初始化static变量
  12. Nginx+tomcat整合
  13. 【半年时光-追寻你的足迹】
  14. Spring MVC集成Swagger2.0
  15. 微信公众号项目(公众号关注登录网站)
  16. 漫画:网站访问缓慢怎么办?
  17. 织梦搬家数据库导入失败怎么办?
  18. PDF功能实现1——Java实现动态页面在后台生成PDF文件
  19. python实现p图软件_这才是Python程序员P图的正确打开方式!
  20. JavaScript while

热门文章

  1. TensorFlow tf.keras.callbacks.ModelCheckpoint
  2. Java Servlet ServletContext
  3. d3 v4 api interpolate
  4. nms python代码_?标检测中的?极?值抑制算法(nms):python代码解析
  5. Esxi直接使用vmdk文件创建虚机
  6. PolarDB-X 云原生分布式数据库 > API参考 > API参考(2017版本) > 数据库管理类 API > 删除 DRDS 数据库
  7. Docker学习总结(23)——Docker搭建大规模测试环境的实践
  8. SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
  9. FreeTreeView一个可添加、删除、修改的无限极树形结构
  10. Tpcc-mysql 结果解读