获取汉字首字母(T-SQL函数)
一个获得汉字字符串的首字母的T-SQL函数, 可用于拼音索引,代码如下:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
--创建取拼音函数 添加到标量值函数中,以后可以直接调用此函数
ALTER function [dbo].[fGetPy](@Str varchar(500)='')
returns varchar(500)
as
begin--函数实现开始
declare @strlen int,@return varchar(500),@ii int
declare @n int,@c char(1),@chn nchar(1)
select @strlen=len(@str),@return='',@ii=0
set @ii=0
while @ii<@strlen
begin--while循环开始
select @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)
if @chn>'z'--if开始
--此处只有一个 select 语句,原理以“字符串排序以及ASCII码表”:
select @n = @n +1,@c = --★★★select★★★
case chn --case开始
when @chn then char(@n) --case分支
else @c --case分支
end --case结束
from( --★★★from★★★
select top 27 * from (
select chn = '吖'
union all select '八'
union all select '嚓'
union all select '咑'
union all select '妸'
union all select '发'
union all select '旮'
union all select '铪'
union all select '丌' --because have no 'i'
union all select '丌'
union all select '咔'
union all select '垃'
union all select '嘸'
union all select '拏'
union all select '噢'
union all select '妑'
union all select '七'
union all select '呥'
union all select '仨'
union all select '他'
union all select '屲' --no 'u'
union all select '屲' --no 'v'
union all select '屲'
union all select '夕'
union all select '丫'
union all select '帀'
union all select @chn) as a
order by chn collate Chinese_PRC_CI_AS
) as b
else --if对应的else
set @c=@chn
--if结束
set @return=@return+@c
end--while循环结束
return(@return)
end--函数实现结束
使用:
例:select dbo.fgetpy('喂') 结果"w"
select * from table_Name where dbo.fgetpy(table_Name.name)=='a'
- 评论
-
- [使用Ctrl+Enter键可以直接提交]
表情图标
Advertise
Category
Time Counter
离十一还有
Recent Article
- 1.亦舒经典作品语录
- 2.工作笔记:AS3加载外部图片,有加载百分比
- 3.document.documentElement和document.body的区别
- 4.100种增加网站流量的方法
- 5.用div+css模拟表格对角线
- 6.如何做一个好的技术型领导
- 7.苍井空是谁?
- 8."心态"新解
- 9.程序员特有的9个坏习惯
- 10.AS3入门之简单Loading效果
- 11.系统问题:浏览器无法打开png图片
- 12.AS3中以post和get方式提交数据
- 13.defaultTextFormat和setTextFormat()区别
- 14.AS3中超方便地遍历xml
- 15.pv3d中物体常用的移动属性
- 16.开源Flash 3D引擎Papervision3d
- 17.as3 判断鼠标滚轮前滚或后滚
- 18.js:行向上替换滚动效果
- 19.为什么要清净?(禅与佛)
- 20.扩展window.setTimeout方法



