SQL汉字转拼音函数-支持首字母、全拼
SQL汉字转拼音函数-支持首字母、全拼
FROM :http://my.oschina.net/ind/blog/191659
作者不详 --方法一sqlserver汉字转拼音首字母
--调用方法 select dbo.procGetPY ('中國')
Create FUNCTION dbo.procGetPY
(
@str NVARCHAR(4000)
)
/*
select dbo. procGetPYFirstLetter ('中國')
*/
RETURNS NVARCHAR(4000)
--WITH ENCRYPTION
AS
BEGIN
DECLARE @WORD NCHAR(1),@PY NVARCHAR(4000) SET @PY='' WHILE LEN(@STR)>0
BEGIN
SET @WORD=LEFT(@STR,1) --如果非漢字字符﹐返回原字符
SET @PY=@PY+(CASE WHEN UNICODE(@WORD) BETWEEN 19968 AND 19968+20901
THEN (
SELECT TOP 1 PY
FROM
(
SELECT 'A' AS PY,N'驁' AS WORD
UNION ALL SELECT 'B',N'簿'
UNION ALL SELECT 'C',N'錯'
UNION ALL SELECT 'D',N'鵽'
UNION ALL SELECT 'E',N'樲'
UNION ALL SELECT 'F',N'鰒'
UNION ALL SELECT 'G',N'腂'
UNION ALL SELECT 'H',N'夻'
UNION ALL SELECT 'J',N'攈'
UNION ALL SELECT 'K',N'穒'
UNION ALL SELECT 'L',N'鱳'
UNION ALL SELECT 'M',N'旀'
UNION ALL SELECT 'N',N'桛'
UNION ALL SELECT 'O',N'漚'
UNION ALL SELECT 'P',N'曝'
UNION ALL SELECT 'Q',N'囕'
UNION ALL SELECT 'R',N'鶸'
UNION ALL SELECT 'S',N'蜶'
UNION ALL SELECT 'T',N'籜'
UNION ALL SELECT 'W',N'鶩'
UNION ALL SELECT 'X',N'鑂'
UNION ALL SELECT 'Y',N'韻'
UNION ALL SELECT 'Z',N'做'
) T
WHERE WORD>=@WORD COLLATE CHINESE_PRC_CS_AS_KS_WS
ORDER BY PY ASC
)
ELSE @WORD
END)
SET @STR=RIGHT(@STR,LEN(@STR)-1)
END RETURN @PY END Go --方法二sqlserver汉字转全拼
--调用方法 select dbo. procGetPinYin ('中國')
create function [dbo].procGetPinYin(@str varchar(100))
returns varchar(8000)
as
begin
declare @re varchar(8000),@crs varchar(10)
declare @strlen int
select @strlen=len(@str),@re=''
while @strlen>0
begin
set @crs= substring(@str,@strlen,1)
select @re=
case
when @crs<'吖' then @crs
when @crs<='厑' then 'a'
when @crs<='靉' then 'ai'
when @crs<='黯' then 'an'
when @crs<='醠' then 'ang'
when @crs<='驁' then 'ao'
when @crs<='欛' then 'ba'
when @crs<='瓸' then 'bai'
when @crs<='瓣' then 'ban'
when @crs<='鎊' then 'bang'
when @crs<='鑤' then 'bao'
when @crs<='鐾' then 'bei'
when @crs<='輽' then 'ben'
when @crs<='鏰' then 'beng'
when @crs<='鼊' then 'bi'
when @crs<='變' then 'bian'
when @crs<='鰾' then 'biao'
when @crs<='彆' then 'bie'
when @crs<='鬢' then 'bin'
when @crs<='靐' then 'bing'
when @crs<='蔔' then 'bo'
when @crs<='簿' then 'bu'
when @crs<='囃' then 'ca'
when @crs<='乲' then 'cai'
when @crs<='爘' then 'can'
when @crs<='賶' then 'cang'
when @crs<='鼜' then 'cao'
when @crs<='簎' then 'ce'
when @crs<='笒' then 'cen'
when @crs<='乽' then 'ceng'
when @crs<='詫' then 'cha'
when @crs<='囆' then 'chai'
when @crs<='顫' then 'chan'
when @crs<='韔' then 'chang'
when @crs<='觘' then 'chao'
when @crs<='爡' then 'che'
when @crs<='讖' then 'chen'
when @crs<='秤' then 'cheng'
when @crs<='鷘' then 'chi'
when @crs<='銃' then 'chong'
when @crs<='殠' then 'chou'
when @crs<='矗' then 'chu'
when @crs<='踹' then 'chuai'
when @crs<='鶨' then 'chuan'
when @crs<='愴' then 'chuang'
when @crs<='顀' then 'chui'
when @crs<='蠢' then 'chun'
when @crs<='縒' then 'chuo'
when @crs<='嗭' then 'ci'
when @crs<='謥' then 'cong'
when @crs<='輳' then 'cou'
when @crs<='顣' then 'cu'
when @crs<='爨' then 'cuan'
when @crs<='臎' then 'cui'
when @crs<='籿' then 'cun'
when @crs<='錯' then 'cuo'
when @crs<='橽' then 'da'
when @crs<='靆' then 'dai'
when @crs<='饏' then 'dan'
when @crs<='闣' then 'dang'
when @crs<='纛' then 'dao'
when @crs<='的' then 'de'
when @crs<='扽' then 'den'
when @crs<='鐙' then 'deng'
when @crs<='螮' then 'di'
when @crs<='嗲' then 'dia'
when @crs<='驔' then 'dian'
when @crs<='鑃' then 'diao'
when @crs<='嚸' then 'die'
when @crs<='顁' then 'ding'
when @crs<='銩' then 'diu'
when @crs<='霘' then 'dong'
when @crs<='鬭' then 'dou'
when @crs<='蠹' then 'du'
when @crs<='叾' then 'duan'
when @crs<='譵' then 'dui'
when @crs<='踲' then 'dun'
when @crs<='鵽' then 'duo'
when @crs<='鱷' then 'e'
when @crs<='摁' then 'en'
when @crs<='鞥' then 'eng'
when @crs<='樲' then 'er'
when @crs<='髮' then 'fa'
when @crs<='瀪' then 'fan'
when @crs<='放' then 'fang'
when @crs<='靅' then 'fei'
when @crs<='鱝' then 'fen'
when @crs<='覅' then 'feng'
when @crs<='梻' then 'fo'
when @crs<='鴀' then 'fou'
when @crs<='猤' then 'fu'
when @crs<='魀' then 'ga'
when @crs<='瓂' then 'gai'
when @crs<='灨' then 'gan'
when @crs<='戇' then 'gang'
when @crs<='鋯' then 'gao'
when @crs<='獦' then 'ge'
when @crs<='給' then 'gei'
when @crs<='搄' then 'gen'
when @crs<='堩' then 'geng'
when @crs<='兣' then 'gong'
when @crs<='購' then 'gou'
when @crs<='顧' then 'gu'
when @crs<='詿' then 'gua'
when @crs<='恠' then 'guai'
when @crs<='鱹' then 'guan'
when @crs<='撗' then 'guang'
when @crs<='鱥' then 'gui'
when @crs<='謴' then 'gun'
when @crs<='腂' then 'guo'
when @crs<='哈' then 'ha'
when @crs<='饚' then 'hai'
when @crs<='鶾' then 'han'
when @crs<='沆' then 'hang'
when @crs<='兞' then 'hao'
when @crs<='靏' then 'he'
when @crs<='嬒' then 'hei'
when @crs<='恨' then 'hen'
when @crs<='堼' then 'heng'
when @crs<='鬨' then 'hong'
when @crs<='鱟' then 'hou'
when @crs<='鸌' then 'hu'
when @crs<='蘳' then 'hua'
when @crs<='蘾' then 'huai'
when @crs<='鰀' then 'huan'
when @crs<='鎤' then 'huang'
when @crs<='顪' then 'hui'
when @crs<='諢' then 'hun'
when @crs<='夻' then 'huo'
when @crs<='驥' then 'ji'
when @crs<='嗧' then 'jia'
when @crs<='鑳' then 'jian'
when @crs<='謽' then 'jiang'
when @crs<='釂' then 'jiao'
when @crs<='繲' then 'jie'
when @crs<='齽' then 'jin'
when @crs<='竸' then 'jing'
when @crs<='蘔' then 'jiong'
when @crs<='欍' then 'jiu'
when @crs<='爠' then 'ju'
when @crs<='羂' then 'juan'
when @crs<='钁' then 'jue'
when @crs<='攈' then 'jun'
when @crs<='鉲' then 'ka'
when @crs<='乫' then 'kai'
when @crs<='矙' then 'kan'
when @crs<='閌' then 'kang'
when @crs<='鯌' then 'kao'
when @crs<='騍' then 'ke'
when @crs<='褃' then 'ken'
when @crs<='鏗' then 'keng'
when @crs<='廤' then 'kong'
when @crs<='鷇' then 'kou'
when @crs<='嚳' then 'ku'
when @crs<='骻' then 'kua'
when @crs<='鱠' then 'kuai'
when @crs<='窾' then 'kuan'
when @crs<='鑛' then 'kuang'
when @crs<='鑎' then 'kui'
when @crs<='睏' then 'kun'
when @crs<='穒' then 'kuo'
when @crs<='鞡' then 'la'
when @crs<='籟' then 'lai'
when @crs<='糷' then 'lan'
when @crs<='唥' then 'lang'
when @crs<='軂' then 'lao'
when @crs<='餎' then 'le'
when @crs<='脷' then 'lei'
when @crs<='睖' then 'leng'
when @crs<='瓈' then 'li'
when @crs<='倆' then 'lia'
when @crs<='纞' then 'lian'
when @crs<='鍄' then 'liang'
when @crs<='瞭' then 'liao'
when @crs<='鱲' then 'lie'
when @crs<='轥' then 'lin'
when @crs<='炩' then 'ling'
when @crs<='咯' then 'liu'
when @crs<='贚' then 'long'
when @crs<='鏤' then 'lou'
when @crs<='氇' then 'lu'
when @crs<='鑢' then 'lv'
when @crs<='亂' then 'luan'
when @crs<='擽' then 'lue'
when @crs<='論' then 'lun'
when @crs<='鱳' then 'luo'
when @crs<='嘛' then 'ma'
when @crs<='霢' then 'mai'
when @crs<='蘰' then 'man'
when @crs<='蠎' then 'mang'
when @crs<='唜' then 'mao'
when @crs<='癦' then 'me'
when @crs<='嚜' then 'mei'
when @crs<='們' then 'men'
when @crs<='霥' then 'meng'
when @crs<='羃' then 'mi'
when @crs<='麵' then 'mian'
when @crs<='廟' then 'miao'
when @crs<='鱴' then 'mie'
when @crs<='鰵' then 'min'
when @crs<='詺' then 'ming'
when @crs<='謬' then 'miu'
when @crs<='耱' then 'mo'
when @crs<='麰' then 'mou'
when @crs<='旀' then 'mu'
when @crs<='魶' then 'na'
when @crs<='錼' then 'nai'
when @crs<='婻' then 'nan'
when @crs<='齉' then 'nang'
when @crs<='臑' then 'nao'
when @crs<='呢' then 'ne'
when @crs<='焾' then 'nei'
when @crs<='嫩' then 'nen'
when @crs<='能' then 'neng'
when @crs<='嬺' then 'ni'
when @crs<='艌' then 'nian'
when @crs<='釀' then 'niang'
when @crs<='脲' then 'niao'
when @crs<='钀' then 'nie'
when @crs<='拰' then 'nin'
when @crs<='濘' then 'ning'
when @crs<='靵' then 'niu'
when @crs<='齈' then 'nong'
when @crs<='譳' then 'nou'
when @crs<='搙' then 'nu'
when @crs<='衄' then 'nv'
when @crs<='瘧' then 'nue'
when @crs<='燶' then 'nuan'
when @crs<='桛' then 'nuo'
when @crs<='鞰' then 'o'
when @crs<='漚' then 'ou'
when @crs<='袙' then 'pa'
when @crs<='磗' then 'pai'
when @crs<='鑻' then 'pan'
when @crs<='胖' then 'pang'
when @crs<='礮' then 'pao'
when @crs<='轡' then 'pei'
when @crs<='喯' then 'pen'
when @crs<='喸' then 'peng'
when @crs<='鸊' then 'pi'
when @crs<='騙' then 'pian'
when @crs<='慓' then 'piao'
when @crs<='嫳' then 'pie'
when @crs<='聘' then 'pin'
when @crs<='蘋' then 'ping'
when @crs<='魄' then 'po'
when @crs<='哛' then 'pou'
when @crs<='曝' then 'pu'
when @crs<='蟿' then 'qi'
when @crs<='髂' then 'qia'
when @crs<='縴' then 'qian'
when @crs<='瓩' then 'qiang'
when @crs<='躈' then 'qiao'
when @crs<='籡' then 'qie'
when @crs<='藽' then 'qin'
when @crs<='櫦' then 'qing'
when @crs<='瓗' then 'qiong'
when @crs<='糗' then 'qiu'
when @crs<='覻' then 'qu'
when @crs<='勸' then 'quan'
when @crs<='礭' then 'que'
when @crs<='囕' then 'qun'
when @crs<='橪' then 'ran'
when @crs<='讓' then 'rang'
when @crs<='繞' then 'rao'
when @crs<='熱' then 're'
when @crs<='餁' then 'ren'
when @crs<='陾' then 'reng'
when @crs<='馹' then 'ri'
when @crs<='穃' then 'rong'
when @crs<='嶿' then 'rou'
when @crs<='擩' then 'ru'
when @crs<='礝' then 'ruan'
when @crs<='壡' then 'rui'
when @crs<='橍' then 'run'
when @crs<='鶸' then 'ruo'
when @crs<='栍' then 'sa'
when @crs<='虄' then 'sai'
when @crs<='閐' then 'san'
when @crs<='喪' then 'sang'
when @crs<='髞' then 'sao'
when @crs<='飋' then 'se'
when @crs<='篸' then 'sen'
when @crs<='縇' then 'seng'
when @crs<='霎' then 'sha'
when @crs<='曬' then 'shai'
when @crs<='鱔' then 'shan'
when @crs<='緔' then 'shang'
when @crs<='潲' then 'shao'
when @crs<='欇' then 'she'
when @crs<='瘮' then 'shen'
when @crs<='賸' then 'sheng'
when @crs<='瓧' then 'shi'
when @crs<='鏉' then 'shou'
when @crs<='虪' then 'shu'
when @crs<='誜' then 'shua'
when @crs<='卛' then 'shuai'
when @crs<='腨' then 'shuan'
when @crs<='灀' then 'shuang'
when @crs<='睡' then 'shui'
when @crs<='鬊' then 'shun'
when @crs<='鑠' then 'shuo'
when @crs<='乺' then 'si'
when @crs<='鎹' then 'song'
when @crs<='瘶' then 'sou'
when @crs<='鷫' then 'su'
when @crs<='算' then 'suan'
when @crs<='鐩' then 'sui'
when @crs<='潠' then 'sun'
when @crs<='蜶' then 'suo'
when @crs<='襨' then 'ta'
when @crs<='燤' then 'tai'
when @crs<='賧' then 'tan'
when @crs<='燙' then 'tang'
when @crs<='畓' then 'tao'
when @crs<='蟘' then 'te'
when @crs<='朰' then 'teng'
when @crs<='趯' then 'ti'
when @crs<='舚' then 'tian'
when @crs<='糶' then 'tiao'
when @crs<='餮' then 'tie'
when @crs<='乭' then 'ting'
when @crs<='憅' then 'tong'
when @crs<='透' then 'tou'
when @crs<='鵵' then 'tu'
when @crs<='褖' then 'tuan'
when @crs<='駾' then 'tui'
when @crs<='坉' then 'tun'
when @crs<='籜' then 'tuo'
when @crs<='韤' then 'wa'
when @crs<='顡' then 'wai'
when @crs<='贎' then 'wan'
when @crs<='朢' then 'wang'
when @crs<='躛' then 'wei'
when @crs<='璺' then 'wen'
when @crs<='齆' then 'weng'
when @crs<='齷' then 'wo'
when @crs<='鶩' then 'wu'
when @crs<='衋' then 'xi'
when @crs<='鏬' then 'xia'
when @crs<='鼸' then 'xian'
when @crs<='鱌' then 'xiang'
when @crs<='斆' then 'xiao'
when @crs<='躞' then 'xie'
when @crs<='釁' then 'xin'
when @crs<='臖' then 'xing'
when @crs<='敻' then 'xiong'
when @crs<='齅' then 'xiu'
when @crs<='蓿' then 'xu'
when @crs<='贙' then 'xuan'
when @crs<='瀥' then 'xue'
when @crs<='鑂' then 'xun'
when @crs<='齾' then 'ya'
when @crs<='灩' then 'yan'
when @crs<='樣' then 'yang'
when @crs<='鑰' then 'yao'
when @crs<='岃' then 'ye'
when @crs<='齸' then 'yi'
when @crs<='檼' then 'yin'
when @crs<='譍' then 'ying'
when @crs<='喲' then 'yo'
when @crs<='醟' then 'yong'
when @crs<='鼬' then 'you'
when @crs<='爩' then 'yu'
when @crs<='願' then 'yuan'
when @crs<='鸙' then 'yue'
when @crs<='韻' then 'yun'
when @crs<='雥' then 'za'
when @crs<='縡' then 'zai'
when @crs<='饡' then 'zan'
when @crs<='臟' then 'zang'
when @crs<='竈' then 'zao'
when @crs<='稄' then 'ze'
when @crs<='鱡' then 'zei'
when @crs<='囎' then 'zen'
when @crs<='贈' then 'zeng'
when @crs<='醡' then 'zha'
when @crs<='瘵' then 'zhai'
when @crs<='驏' then 'zhan'
when @crs<='瞕' then 'zhang'
when @crs<='羄' then 'zhao'
when @crs<='鷓' then 'zhe'
when @crs<='黮' then 'zhen'
when @crs<='證' then 'zheng'
when @crs<='豒' then 'zhi'
when @crs<='諥' then 'zhong'
when @crs<='驟' then 'zhou'
when @crs<='鑄' then 'zhu'
when @crs<='爪' then 'zhua'
when @crs<='跩' then 'zhuai'
when @crs<='籑' then 'zhuan'
when @crs<='戅' then 'zhuang'
when @crs<='鑆' then 'zhui'
when @crs<='稕' then 'zhun'
when @crs<='籱' then 'zhuo'
when @crs<='漬' then 'zi'
when @crs<='縱' then 'zong'
when @crs<='媰' then 'zou'
when @crs<='謯' then 'zu'
when @crs<='攥' then 'zuan'
when @crs<='欈' then 'zui'
when @crs<='銌' then 'zun'
when @crs<='咗' then 'zuo'
--else @crs end+' '+@re,@strlen=@strlen-1
--去掉拼音之间的间隔
else @crs end+''+@re,@strlen=@strlen-1
end
return(@re)
end
go
SQL汉字转拼音函数-支持首字母、全拼的更多相关文章
- c#汉字转拼音首字母全拼支持多音字
1.首先在NuGet安装pingyinConverter 2.下载-安装-引用ChineseChar.dll到项目中 官网了解:http://www.microsoft.com/zh-cn/downl ...
- java汉字转拼音以及得到首字母通用方法
package oa.common.utils; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.piny ...
- C# 获取汉字拼音首字母/全拼
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 本节探讨C#获取汉字拼音首字母的方法: 代码类东西, ...
- vue集成汉字转拼音或提取首字母
需求: 有时我们为了节省用户的维护量,需要根据中文生成出相应的拼音和缩写 解决: 此方法是利用汉字和Unicode编码对应找到相应字母 一.编写汉字和编码 ...
- 使用PHP获取汉字的拼音(全部与首字母)
<?php /** * 取汉字拼音 * edit by www.jbxue.com */ class GetPingYing { private $pylist = array( 'a'=> ...
- JAVA汉字转拼音(取首字母大写)
import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseT ...
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...
- oracle 根据汉字返回拼音函数
参见戴明明的博客,oracle 根据汉字返回拼音函数,由于他的博客里没有提供完整的代码,研究了一个多小时,才弄出来: 上来贴代码吧.. --------------Type Definition CR ...
- php---------取汉字的第一个字的首字母
开发中用到的方法,取出第一个汉字的首字母: /** * 取汉字的第一个字的首字母 * @param string $str * @return string|null */ function getF ...
随机推荐
- Windows下Java环境配置,tomcat安装
问题描述:在Windows下面做Java web相关的项目的时候,Java和tomcat是基础,这里记载一下Java环境的配置以及tomcat的安装和配置. 使用工具:Windows.jdk安装包.t ...
- BZOJ1500[NOI2005]维修数列
Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目.第2行包含N个数字,描述初始时的数列.以下M行,每行一 ...
- C++使用vector
#include <iostream> #include <string> #include <vector> using namespace std; void ...
- 当类型为dynamic的视图模型遭遇匿名对象
当年在ASP.NET MVC 1.0时代我提到,在开发时最好将视图的Model定制为强类型的,这样可以充分利用静态检查功能进行排错.不过有人指出,这么做虽然易于静态检查,但是定义强类型的Model类型 ...
- Mysql完全手册(笔记二,使用数据与性能优化)
一.使用数据 1.使用变量 MySQL也可以让我们以用户自定义的变量来存储select查询的结果,以便在将来select查询中使用.它们只会在客户会话期间存在,但是它们提供一个方便有效的方法来连接查询 ...
- 唯物 VS 唯心
对于唯物和唯心,我了解的并不多.我所知道的那点皮毛,也只是源于教课书.只是近来恋上了阳明大哥,而在某年的高考模拟题中,阳明竟被作为唯心主义的代表,供考生们批判.这一批搞得我着实不爽,决定要为他平反 ...
- [LeetCode] Remove Duplicates from Sorted Array 有序数组中去除重复项
Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...
- MS SQL SERVER导出表结构到Excel
通过sql语句导出表结构 SELECT 表名 Then D.name Else '' End, 表说明 Then isnull(F.value,'') Else '' End, 字段序号 = A.co ...
- oracle的round函数和trunc函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...
- Android性能优化
Android最佳性能实践 Android最佳性能实践(一)——合理管理内存 Android最佳性能实践(二)——分析内存的使用情况 Android最佳性能实践(三)——高性能编码优化 Android ...