`

sqlserver排序规则在拼音处理中的应用

阅读更多

 

--1. 按拼音排序
DECLARE @t TABLE(col varchar(2))
INSERT @t SELECT '中'
UNION ALL SELECT '国'
UNION ALL 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

SELECT dbo.f_GetPY('阿财说话')
/*--结果
col 
----
ACSH
--*/

 

作者:

http://www.cnblogs.com/aierong/

分享到:
评论

相关推荐

    根据拼音在sqlserver查询汉字

    在SQL Server中,根据拼音查询汉字是一项非常实用的功能,尤其对于中文数据的检索和排序有着重要作用。本示例主要展示了如何利用SQL Server的排序规则和自定义函数来实现这一功能。 首先,我们要理解SQL Server的...

    SQLServer汉字转全拼音函数 .txt

    ### SQLServer中的汉字转全拼音函数 在数据库管理和数据处理领域,经常需要对文本进行各种形式的转换,以便于检索、排序或者分析等操作。其中一个常见的需求是将汉字转换为拼音,这对于支持中文环境的系统尤其重要...

    排序函数(sqlserver)

    本篇将详细探讨SQL Server中的排序功能及其在拼音处理和全角半角字符处理中的应用。 首先,我们要了解SQL Server中的基本排序语句——`ORDER BY`。在SQL查询中,`ORDER BY`子句用于指定返回结果集的排序方式。例如...

    利用SQL SERVER实现拼音简码自动转换汉字.pdf

    首先,文章简要介绍了SQL Server排序规则的重要性及其应用。排序规则在SQL Server中用于控制字符串的物理存储,决定字符的位模式以及字符存储和比较时使用的规则。通过执行特定的SQL语句,可以获得数据库支持的所有...

    在sql中实现获取汉字拼音简码.pdf

    SQL Server 提供了一整套的排序规则,在 SQL Server 中作为字符型数据排顺的规则,特别是汉字,充分利用它可以得到很好的效果。 3. 获取汉字拼音简码 获取汉字拼音简码是指在 SQL 服务器中使用 SQL 语言实现获取...

    在sql中实现汉语拼音查询

    本文详细介绍了一种在SQL Server环境中通过利用SQL Server的排序规则来获取汉字拼音简码的方法。这种方法不仅能够减少操作员在查询过程中输入汉字的工作量,还能有效提升操作的速度,并增强系统的易用性。此技术已在...

    SQL SERVER 2000开发与管理应用实例

    14.3 系统对象在处理中的应用 444 14.3.1 批量处理数据库中的对象 444 14.3.2 将所有的char、varchar改为nchar、nvarchar 445 14.3.3 标识列与普通列的相互转换 447 14.3.4 把列添加指定位置 450 ...

    SQL 中文排序

    在处理数据库中的中文数据时,我们常常会遇到中文排序的问题。默认情况下,SQL的排序机制可能会导致中文字符按照其内部编码(通常是Unicode编码)进行排序,这与我们的预期(比如按照拼音或笔画顺序)可能不一致。...

    SQL Server 2000索引结构及使用方法

    如果我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。 非聚集索引是一种目录...

    Sqlserver2000经典脚本

    统计一个表中某个字符出现最多的字母.sql │ 非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ ...

    sqlserver2000基础(高手也有用)

    14.3 系统对象在处理中的应用 444 14.3.1 批量处理数据库中的对象 444 14.3.2 将所有的char、varchar改为nchar、nvarchar 445 14.3.3 标识列与普通列的相互转换 447 14.3.4 把列添加指定位置 450 14.3.5 ...

    JAVA sql 汉字排序

    总的来说,理解SQL Server的排序规则对于Java程序员在处理汉字排序问题时尤为重要。通过合理选择和应用排序规则,可以确保数据的正确排序,提升查询效率,同时避免因字符集和排序规则不匹配导致的错误。在设计数据库...

    全能数据库拼音码生成工具.rar

    这种工具在处理中文数据时尤其有用,因为中文字符并不像英文那样可以直接用字母顺序进行排序或搜索。拼音码可以帮助用户通过输入汉字的拼音来查找或操作数据,提高了效率。 描述中提到,“可以把数据库里的一个字段...

    SQLSERVER检索索引技术优化.pdf

    在 SQLSERVER 中,索引是一种特殊的目录,旨在提高查询效率。微软的 SQL SERVER 提供了两种索引:聚集索引(clustered index)和非聚集索引(nonclustered index)。 聚集索引是一种特殊的目录,它将数据按照一定...

    SQL Server索引技术的教学实践.pdf

    在使用T-SQL语句创建索引时,需要考虑索引类型、排序规则、填充因子等选项。特殊情况下,还可能需要考虑 Ignore_dup_key、Drop_Existing、Statistics_norecompute、Sort_in_tempdb等高级选项。 填充因子...

    SQLServer聚集索引与非聚集索引讲解[借鉴].pdf

    "SQLServer聚集索引与非聚集索引讲解" 本文主要讲解了SQL Server中的聚集索引和非聚集索引的概念、原理和应用场景。聚集索引(Clustered Index)和非聚集索引(Non-Clustered Index)是SQL Server中两种不同的索引...

    SQL Server 2000索引结构及使用方法 .doc

    例如,汉语字典中的正文就是一个典型的聚集索引示例,字典中的汉字按照一定的规则(如拼音或笔画)排序,读者可以直接根据这些规则找到对应的汉字,而无需参考额外的目录。 - **非聚集索引(Nonclustered Index)**:...

    经典SQL脚本大全

    │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ 4.2.2 排序规则在全角与半角处理中的应用.sql │ │ │ └─其他 │ 生成GB2312汉字表.sql │ 生成GBK汉字表.sql │ 自动获取汉字笔画.sql │ ├─第05章 │ │...

Global site tag (gtag.js) - Google Analytics