--创建一个汉字提取首字母的函数
--还存在一点小小的问题(符号?)
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 @i=1
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
if @e>=0xCBFA and @e<=0xCDD9
BEGIN
set @pinyin=@pinyin+'T'
END
if @e>=0xCDDA and @e<=0xCEF3
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中汉字提取首字母的拼音函数的实现的更多相关文章

  1. iOS汉字中提取首字母

    NSMutableString *mutableStr = [[NSMutableString alloc]initWithString:string]; if (CFStringTransform( ...

  2. 终结者:借助pinyin4j相关jar包提取汉字的首字母

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...

  3. sql 汉字转首字母拼音

    从网络上收刮了一些,以备后用 create function fun_getPY(@str nvarchar()) returns nvarchar() as begin declare @word ...

  4. Android -- 获取汉字的首字母

    转换                                                                                             获取一个汉 ...

  5. java汉字获取首字母

    前言 在项目中很多时候我们需要获取姓名或者名称的首字母或者全拼,以用于模糊查询或者字母查询,在这里分享一个实例:供小伙伴们参考. 导入jar包 <dependency> <group ...

  6. word2013中取消句首字母自动大写

    经常使用word的朋友都知道word中一行的首字母会自动大写,这给用户带来方便的同时,也产生了问题,因为有时候我们并不希望每行开头的首字母大写.要取消首字母自动大写可以取消勾选"首句字母大写 ...

  7. Javascript 将一个句子中的单词首字母转成大写

    Javascript 将一个句子中的单词首字母转成大写 先上代码 function titleCase(str) { str = str.toLowerCase().split(" &quo ...

  8. Code:获取指定汉字的首字母

    ylbtech-Code:获取指定汉字的首字母 1.获取指定汉字的首字母返回顶部 1. /// <summary> /// 获取指定汉字的首字母 /// </summary> ...

  9. php 中文字符串首字母的获取函数

    这篇文章介绍了php 中文字符串首字母的获取函数,有需要的朋友可以参考一下 function chineseFirst($str) { $str= iconv("UTF-8",&q ...

随机推荐

  1. kafka+flume+HDFS日志采集项目框架

    1,项目图如下: 2, 实现过程 启动HDFS: sbin/start-dfs.sh 启动zookeeper(三台): bin/zkServer.sh start 启动kafka(三台): root@ ...

  2. [转]如何整理Linux磁盘碎片,竟与Windows的方式大不同 返回操作系统首页

    Linux 系统永远不需要整理磁盘碎片的神话相信很多人都听说过.由于 Linux 采用了优秀的日志文件系统(ext2.ext3.ext4, btrfs等),在绝大多数情况下确实是不需要进行磁盘碎片整理 ...

  3. react-slick无法显示预期效果问题

    目前学习react来做新项目,我要做一个图片的轮播,是那种一次可以展示几张图片的循环轮播,在我们使用的antd里面没有,然后前辈叫我使用react-slick插件,于是我就使用npm命令安装了reac ...

  4. python多线程实现多任务

    #转载请联系 1.什么是线程? 进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配的单位.一个进程肯定有一个主线程,我们可以在一个进程里创建多个线程来实现多任务. --- ...

  5. 第三篇:使用firewall-cmd

    本文来源:Working with firewalld         其它参考文档:redhat官方中文文档 1.查询类命令 2.设置类命令 3.运行时zone设置 4.永久性zone设置 5.直接 ...

  6. 网关协议:CGI、FastCGI、WSGI

    CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页. CGI CGI即通用网关接口(Common Ga ...

  7. MATLAB中的积分运算

    MATLAB中计算一元函数的(不)定积分使用int函数. ①int(s)计算符号表达式s的不定积分 syms x;s = x^2;int(s) 计算x^2的不定积分. ②int(s,x)计算符号表达式 ...

  8. BZOJ 1036: [ZJOI2008]树的统计Count-树链剖分(点权)(单点更新、路径节点最值、路径求和)模板,超级认真写了注释啊啊啊

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 23015  Solved: 9336[Submit ...

  9. 解决windows下文件拷贝到ubuntu下文件名乱码的问题

    sudo apt-get install convmv     解压zip文件:    convmv -f gbk -t utf8 -r --notest *

  10. HDU 2141 Can you find it?【二分查找是否存在ai+bj+ck=x】

    Give you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate ...