sql按拼音排序

sql按拼音排序

sql按拼音排序

select * from user order by name collate Chinese_PRC_CS_AS_KS_WS

二.排序规则简介:

    什么叫排序规则呢?ms是这样描述的:"在 microsoft sql server 2000 中,
字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存
储和比较字符所使用的规则。"
在查询分析器内执行下面语句,可以得到sql server支持的所有排序规则。

select * from ::fn_helpcollations()

排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
chinese_prc_cs_ai_ws 
前半部份:指unicode字符集,chinese_prc_指针对大陆简体字unicode的排序规则。
排序规则的后半部份即后缀 含义: 
_bin 二进制排序 
_ci(cs) 是否区分大小写,ci不区分,cs区分
_ai(as) 是否区分重音,ai不区分,as区分   
_ki(ks) 是否区分假名类型,ki不区分,ks区分 
    _wi(ws) 是否区分宽度 wi不区分,ws区分 

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,
         比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项


三.排序规则的应用:
sql server提供了大量的windows和sqlserver专用的排序规则,但它的应用往往
被开发人员所忽略。其实它在实践中大有用处。

例1:让表name列的内容按拼音排序:

create table #t(id int,name varchar(20))
insert #t select 1,中
union all select 2,国
union all select 3,人
union all select 4,阿

select * from #t order by name collate chinese_prc_cs_as_ks_ws 
drop table #t
/*结果:
id          name                 
----------- -------------------- 
4           阿
2           国
3           人
1           中
*/

例2:让表name列的内容按姓氏笔划排序:

create table #t(id int,name varchar(20))

insert #t select 1,三
union all select 2,乙
union all select 3,二
union all select 4,一
union all select 5,十
select * from #t order by name collate chinese_prc_stroke_cs_as_ks_ws 
drop table #t
/*结果:
id          name                 
----------- -------------------- 
4           一
2           乙
3           二
5           十
1           三
*/

四.在实践中排序规则应用的扩展
sql server汉字排序规则可以按拼音、笔划等排序,那么我们如何利用这种功能
来处理汉字的一些难题呢?我现在举个例子:

用排序规则的特性计算汉字笔划

要计算汉字笔划,我们得先做准备工作,我们知道,windows多国汉字,unicode目前
收录汉字共20902个。简体gbk码汉字unicode值从19968开始。
首先,我们先用sqlserver方法得到所有汉字,不用字典,我们简单利用sql语句就
可以得到:

select top 20902 code=identity(int,19968,1) into #t from syscolumns a,syscolumns b

再用以下语句,我们就得到所有汉字,它是按unicode值排序的:

select code,nchar(code) as cnword from #t

然后,我们用select语句,让它按笔划排序。

select code,nchar(code) as cnword 
from #t 
order by nchar(code) collate chinese_prc_stroke_cs_as_ks_ws,code

结果:
code        cnword 



本文章出处 http://www.itphome.cn/shujukuyingyong/mssql/2010-01-27/106.html

posted on 2013-04-26 10:19 巛 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/irelands/archive/2013/04/26/3044212.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机专业杀毒,计算机病毒查杀

面对计算机病毒日益剧增,普通人的电脑中病毒的几率越来越大,学习几招查杀病毒的方法,有助于保持系统安全运行也避免一些不必要的损失。下面是学习啦小编跟大家分享的是计算机病毒查杀,欢迎大家来阅读学习。计算机病毒查杀步骤/方法…

Azure 上的网站如何识别不同国家和地区的用户

点击上方蓝字关注“汪宇杰博客”导语跨国服务的网站通常需要针对不同国家和地区的用户显示不同的内容。通常我们会根据用户的IP地址识别Ta所在的国家和地区,而自己编写代码以及购买和维护IP数据库,或使用三方的IP数据服务,是潜在的996成本。虽…

中小学不得在校内设置食品经营场所,量子摩尔定律问世,美团运营摩拜亏45亿,英伟达史上最大手笔收购,这就是今天的大新闻。...

今天是3月12日农历二月初六今天星期二去吃饭老板问要饭的吗一兄弟说我要饭的我要饭怎么觉得这对话有点怪怪下面是今天的大新闻中小学不得在校内设置食品经营场所(中国新闻网)据教育部网站消息,由教育部、国家市场监督管理总局、国家卫生健康委…

轮廓处理函数详细

ApproxChains用多边形曲线逼近 Freeman 链 CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage, int methodCV_CHAIN_APPROX_SIMPLE, double parameter0, int minimal_perimeter0, int recursive0 ); src_seq涉及其它链的链指针storage存储多边形线段位置的缓存m…

html5与课程思政,“课程思政”怎样做

[本站讯 ]为了提升学校教师的课程思政意识和课程思政建设水平,提高课程思政优秀案例征集水平,5月21日,教学促进与教师发展中心举办了课程思政专题线上分享会.中心主任张树永出席会议,120位教师通过雨课堂参加了直播活动.“课程思政”怎样做?教学案例设计…

Windows 11 快速体验:开始菜单居中,全系圆角设计!

系统类型:Windows 11 专业工作站版 系统版本:Dev系统版本号:OS Build 21996.1任务栏 Windows 11 任务栏上的“开始”菜单和应用程序图标由此前 Windows 操作系统中的“左对齐”样式变为“居中”。如果你不喜欢“居中”可以通过个性化设置更改…

puppeteer 鼠标定位滑块_监听滑块滑动或滑块随鼠标移动 | JShare

监听滑块滑动或滑块随鼠标移动 | JSharefork from "Column with rotated labels"var data [29,12,32,28,22,34,9,12,13,21,24,32,27,31,32,16,21,18,20];drawAdvChart();function drawAdvChart() {var option {chart : {type : column,renderTo : "container&…

数学建模,还得这样学!

最近天气逐渐晴朗回温(伊芙布德干内库毛德川状态暂时告一阶段),数学建模的热度也在逐步回温(据说大家开始了数学建模知识储备),常有小伙伴私聊小天咨询关于数学建模的事情。春节假期也已经过去,…

如何给远程计算机添加用户,如何访问远程计算机以添加/删除/管理用户帐户?...

我有一个场景,我需要访问远程计算机以编程方式添加和删除Windows用户帐户 . 远程机器是一个“备用工作站”,我需要远程配置,准备好以防万一主工作站需要更换 - 所以这里没有安全绕过或恶意软件:)我知道远程机器管理员的用户/密码,…

测试Live Writer 发表博客

2019独角兽企业重金招聘Python工程师标准>>> 测试成功!!! 转载于:https://my.oschina.net/bonelwh/blog/125845

WPF 菜单栏滚动到顶部后固定的两种方法

最近项目中有这么个需求:菜单栏滚动到顶部后固定在顶部,专业的名词叫吸顶。。这在移动端还是比较常见的。看看效果:下面直接看看代码喽,代码不多:第一种方法思路:写一个和菜单一模一样的菜单,放…

eeprom 数据偶尔变成ff_关于水电站冗余配置下监控系统下发调节令偶尔不动作的案例分析...

点击上方“E小水电”,“星标或置顶公众号”关键时刻,第一时间送达摘要:吉勒布拉克水电站冗余配置下机组PLC组网运行,后台监控系统下发调节令,调节不动作或偶尔动作现象分析。引言吉勒布拉克机组自动化控制为冗余主备双…

计算机常用编程英语词汇大全,计算机编程及常用术语英语词汇大全

第一部分、计算机算法常用术语中英对照Data Structures 基本数据结构Dictionaries 字典Priority Queues 堆Graph Data Structures 图Set Data Structures 集合Kd-Trees 线段树Numerical Problems 数值问题Solving Linear Equations 线性方程组Bandwidth Reduction 带宽压缩Matr…

美国明确警告德国,3G退网5G手机不需要换号,抽烟酗酒学生不能认定为家庭经济困难,大学食堂凭运动步数打折,这就是今天的大新闻。...

今天是3月13日农历二月初七今天星期三一切都风平浪静下面是今天的大新闻美国明确警告德国放弃华为(环球新闻)7日,德国经济部长彼得•阿尔特迈尔(PeterAltmaier)明确表态,德国不想将华为排除在本国5G建设外。随后,这位部…

【bayes】贝叶斯likelihood和model

1)Likelihood 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。 简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均…

川大计算机文化基础在线作业,川大1309《计算机文化基础0008》在线作业2答案.docx...

川大 13 秋《计算机文化基础 0008》在线作业 2 答案 试卷得分: 100 测试时间: 2014年 1月 7日 (答案在末尾)一、单选题(共 50道试题,共100分o ) V 1.以下不属于电子数字计算机特点的是().A.运算快速计算精度高形状粗笨通用性强 满分&#xff…

abb限位开关已打开drv1_广告雕刻机限位开关触发

广告雕刻机限位开关触发?广告雕刻机是指专门用于广告行业的设备,是专门为广告而研发的设备。广告雕刻机当然也可以用于其他行业,例如工艺品行业、家具行业、模型行业等。今天我们重点说下“广告雕刻机限位开关触发”。市面上常见的PVC字广告雕…

有趣的灵魂,从高质量的阅读开始

王小波说:我活在世上,无非想要明白些道理,遇见些有趣的事,倘能如我所愿,我的一生就算成功。如果不能行万里路,那就从阅读一篇文章开始。不积跬步,无以至千里。不积小流,无以成江海。…

面向.NET开发人员的Dapr——俯瞰Dapr

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界Dapr at 20,000 feet俯瞰DaprIn chapter 1, we discussed the appeal of distributed microservice applications. But, we also pointed out that they dramatically increase architectu…

计算机控制系统期末判断题,计算机控制系统期末试题.doc

计算机控制系统期末试题计算机控制系统期末试题题 号一二三四五六总 分得 分一、填空:(30分 每空2分)1.总线由( )总线,( )总线,( )总线,( )组成。2.总线的功能有( )功能,( )功能,( )…