SQLSERVER中汉字提取首字母的拼音函数的实现
--还存在一点小小的问题(符号?)
create function hs(@a varchar(1000)='')
returns varchar(1000)
as
begin
declare @b varchar(40),@i int,@c varchar(10)
declare @d varchar(10),@e varchar(10),@pinyin nvarchar(2000)
set @pinyin=''
while @i<=len(@a)
begin
set @c=substring(@a,@i,1)
set @e=cast(@c as varbinary)
if @e>=0xB0A1 and @e<=0xB0C4
BEGIN
set @pinyin=@pinyin+'A'
END
if @e>=0xB0C5 and @e<=0xB2C0
BEGIN
set @pinyin=@pinyin+'B'
END
if @e>=0xB2C1 and @e<=0xB4ED
BEGIN
set @pinyin=@pinyin+'C'
END
if @e>=0xB4EE and @e<=0xB6E9
BEGIN
set @pinyin=@pinyin+'D'
END
if @e>=0xB6EA and @e<=0xB7A1
BEGIN
set @pinyin=@pinyin+'E'
END
if @e>=0xB7A2 and @e<=0xB8C0
BEGIN
set @pinyin=@pinyin+'F'
END
if @e>=0xB8C1 and @e<=0xB9FD
BEGIN
set @pinyin=@pinyin+'G'
END
if @e>=0xB9FE and @e<=0xBBF6
BEGIN
set @pinyin=@pinyin+'H'
END
if @e>=0xBBF7 and @e<=0xBFA5
BEGIN
set @pinyin=@pinyin+'J'
END
if @e>=0xBFA6 and @e<=0xC0AB
BEGIN
set @pinyin=@pinyin+'K'
END
if @e>=0xC0AC and @e<=0xC2E7
BEGIN
set @pinyin=@pinyin+'L'
END
if @e>=0xC2E8 and @e<=0xC4C2
BEGIN
set @pinyin=@pinyin+'M'
END
if @e>=0xC4C3 and @e<=0xC5B5
BEGIN
set @pinyin=@pinyin+'N'
END
if @e>=0xC5B6 and @e<=0xC5BD
BEGIN
set @pinyin=@pinyin+'O'
END
if @e>=0xC5BE and @e<=0xC6D9
BEGIN
set @pinyin=@pinyin+'P'
END
if @e>=0xC6DA and @e<=0xC8BA
BEGIN
set @pinyin=@pinyin+'Q'
END
if @e>=0xC8BB and @e<=0xC8F5
BEGIN
set @pinyin=@pinyin+'R'
END
if @e>=0xC8F6 and @e<=0xCBF9
BEGIN
set @pinyin=@pinyin+'S'
END
BEGIN
set @pinyin=@pinyin+'T'
END
BEGIN
set @pinyin=@pinyin+'W'
END
if @e>=0xCEF4 and @e<=0xD1B8
BEGIN
set @pinyin=@pinyin+'X'
END
if @e>=0xD1B9 and @e<=0xD4D0
BEGIN
set @pinyin=@pinyin+'Y'
END
if @e>=0xD4D1 and @e<=0xD7F9
BEGIN
set @pinyin=@pinyin+'Z'
END
set @i=@i+1
end
return @pinyin
end
SQLSERVER中汉字提取首字母的拼音函数的实现的更多相关文章
- iOS汉字中提取首字母
NSMutableString *mutableStr = [[NSMutableString alloc]initWithString:string]; if (CFStringTransform( ...
- 终结者:借助pinyin4j相关jar包提取汉字的首字母
import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...
- sql 汉字转首字母拼音
从网络上收刮了一些,以备后用 create function fun_getPY(@str nvarchar()) returns nvarchar() as begin declare @word ...
- Android -- 获取汉字的首字母
转换 获取一个汉 ...
- java汉字获取首字母
前言 在项目中很多时候我们需要获取姓名或者名称的首字母或者全拼,以用于模糊查询或者字母查询,在这里分享一个实例:供小伙伴们参考. 导入jar包 <dependency> <group ...
- word2013中取消句首字母自动大写
经常使用word的朋友都知道word中一行的首字母会自动大写,这给用户带来方便的同时,也产生了问题,因为有时候我们并不希望每行开头的首字母大写.要取消首字母自动大写可以取消勾选"首句字母大写 ...
- Javascript 将一个句子中的单词首字母转成大写
Javascript 将一个句子中的单词首字母转成大写 先上代码 function titleCase(str) { str = str.toLowerCase().split(" &quo ...
- Code:获取指定汉字的首字母
ylbtech-Code:获取指定汉字的首字母 1.获取指定汉字的首字母返回顶部 1. /// <summary> /// 获取指定汉字的首字母 /// </summary> ...
- php 中文字符串首字母的获取函数
这篇文章介绍了php 中文字符串首字母的获取函数,有需要的朋友可以参考一下 function chineseFirst($str) { $str= iconv("UTF-8",&q ...
随机推荐
- SSL步骤
SSL步骤 被认证的服务器 1.创建keystore 2.创建信任证书 3.导出信任证书供客户端使用 客户端 1.创建keystore(如果不存在) 2.导入信任证书
- unet中可视性检查的一些笔记
最近在尝试用unet做一个局域网游戏,游戏的核心概念在于玩家之间的发现和隐蔽,有个类似于战争迷雾的机制. 实现该机制最关键的是实现可视性检查.首先是unet中默认的一个可视性检查,由组件Network ...
- POJ 1062 昂贵的聘礼 (最短路 迪杰斯特拉 )
题目链接 Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请 ...
- Linux提权思路
先写个大概 0. dirtycow 不同的dirtycow有不同执行条件. 使用前先对照此表根据内核版本确认是否已经修复 https://github.com/dirtycow/dirtycow.gi ...
- POJ2479(最长连续子序列和)
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 37035 Accepted: 11551 Des ...
- onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法(设置readonly后onchange不起作用的解决方案)
转自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件监听input值变化的使用方法: <input id=" ...
- V-Hyper安装ubuntu-13.10-server-amd64
1.在windws8上的V_Hyper虚拟机上安装Ubuntu虚拟机服务器版.遇到的问题和解决方案 2.正确的在V-Hyper配置方法参考文章:在Hyper-V中安装和配置Ubuntu Server ...
- [ python ] 使用sys模块实现进度条
在写网络IO传输的时候, 有时候需要进度条来显示当前传输进度,使用 sys 模块就可以实现: sys.stdout.write() 这个函数在在控制台输出字符串不会带任何结尾,这就意味着这个输出还没有 ...
- DRF的认证与权限功能
认证 1.全局配置 在setting.py进行配置. REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( # 'rest_framework. ...
- java Class.forName()
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类. 虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class ...