1 --获取全拼 2 DECLARE @str VARCHAR(max) 3 SET @str= [dbo].[fn_Getquanpin]('中山') 4 PRINT(@str) 5 create function [dbo].[fn_Getquanpin](@str varchar(100)) 6 returns varchar(8000) 7 as 8 begin 9 declare @re varchar(8000),@crs varchar(10) 10 declare @strlen int 11 select @strlen=len(@str),@re='' 12 while @strlen>0 13 begin 14 set @crs= substring(@str,@strlen,1) 15 select @re= 16 case 17 when @crs<'吖' then @crs 18 when @crs<='厑' then 'a' 19 when @crs<='靉' then 'ai' 20 when @crs<='黯' then 'an' 21 when @crs<='醠' then 'ang' 22 when @crs<='驁' then 'ao' 23 when @crs<='欛' then 'ba' 24 when @crs<='瓸' then 'bai' 25 when @crs<='瓣' then 'ban' 26 when @crs<='鎊' then 'bang' 27 when @crs<='鑤' then 'bao' 28 when @crs<='鐾' then 'bei' 29 when @crs<='輽' then 'ben' 30 when @crs<='鏰' then 'beng' 31 when @crs<='鼊' then 'bi' 32 when @crs<='變' then 'bian' 33 when @crs<='鰾' then 'biao' 34 when @crs<='彆' then 'bie' 35 when @crs<='鬢' then 'bin' 36 when @crs<='靐' then 'bing' 37 when @crs<='蔔' then 'bo' 38 when @crs<='簿' then 'bu' 39 when @crs<='囃' then 'ca' 40 when @crs<='乲' then 'cai' 41 when @crs<='爘' then 'can' 42 when @crs<='賶' then 'cang' 43 when @crs<='鼜' then 'cao' 44 when @crs<='簎' then 'ce' 45 when @crs<='笒' then 'cen' 46 when @crs<='乽' then 'ceng' 47 when @crs<='詫' then 'cha' 48 when @crs<='囆' then 'chai' 49 when @crs<='顫' then 'chan' 50 when @crs<='韔' then 'chang' 51 when @crs<='觘' then 'chao' 52 when @crs<='爡' then 'che' 53 when @crs<='讖' then 'chen' 54 when @crs<='秤' then 'cheng' 55 when @crs<='鷘' then 'chi' 56 when @crs<='銃' then 'chong' 57 when @crs<='殠' then 'chou' 58 when @crs<='矗' then 'chu' 59 when @crs<='踹' then 'chuai' 60 when @crs<='鶨' then 'chuan' 61 when @crs<='愴' then 'chuang' 62 when @crs<='顀' then 'chui' 63 when @crs<='蠢' then 'chun' 64 when @crs<='縒' then 'chuo' 65 when @crs<='嗭' then 'ci' 66 when @crs<='謥' then 'cong' 67 when @crs<='輳' then 'cou' 68 when @crs<='顣' then 'cu' 69 when @crs<='爨' then 'cuan' 70 when @crs<='臎' then 'cui' 71 when @crs<='籿' then 'cun' 72 when @crs<='錯' then 'cuo' 73 when @crs<='橽' then 'da' 74 when @crs<='靆' then 'dai' 75 when @crs<='饏' then 'dan' 76 when @crs<='闣' then 'dang' 77 when @crs<='纛' then 'dao' 78 when @crs<='的' then 'de' 79 when @crs<='扽' then 'den' 80 when @crs<='鐙' then 'deng' 81 when @crs<='螮' then 'di' 82 when @crs<='嗲' then 'dia' 83 when @crs<='驔' then 'dian' 84 when @crs<='鑃' then 'diao' 85 when @crs<='嚸' then 'die' 86 when @crs<='顁' then 'ding' 87 when @crs<='銩' then 'diu' 88 when @crs<='霘' then 'dong' 89 when @crs<='鬭' then 'dou' 90 when @crs<='蠹' then 'du' 91 when @crs<='叾' then 'duan' 92 when @crs<='譵' then 'dui' 93 when @crs<='踲' then 'dun' 94 when @crs<='鵽' then 'duo' 95 when @crs<='鱷' then 'e' 96 when @crs<='摁' then 'en' 97 when @crs<='鞥' then 'eng' 98 when @crs<='樲' then 'er' 99 when @crs<='髮' then 'fa' 100 when @crs<='瀪' then 'fan' 101 when @crs<='放' then 'fang' 102 when @crs<='靅' then 'fei' 103 when @crs<='鱝' then 'fen' 104 when @crs<='覅' then 'feng' 105 when @crs<='梻' then 'fo' 106 when @crs<='鴀' then 'fou' 107 when @crs<='猤' then 'fu' 108 when @crs<='魀' then 'ga' 109 when @crs<='瓂' then 'gai' 110 when @crs<='灨' then 'gan' 111 when @crs<='戇' then 'gang' 112 when @crs<='鋯' then 'gao' 113 when @crs<='獦' then 'ge' 114 when @crs<='給' then 'gei' 115 when @crs<='搄' then 'gen' 116 when @crs<='堩' then 'geng' 117 when @crs<='兣' then 'gong' 118 when @crs<='購' then 'gou' 119 when @crs<='顧' then 'gu' 120 when @crs<='詿' then 'gua' 121 when @crs<='恠' then 'guai' 122 when @crs<='鱹' then 'guan' 123 when @crs<='撗' then 'guang' 124 when @crs<='鱥' then 'gui' 125 when @crs<='謴' then 'gun' 126 when @crs<='腂' then 'guo' 127 when @crs<='哈' then 'ha' 128 when @crs<='饚' then 'hai' 129 when @crs<='鶾' then 'han' 130 when @crs<='沆' then 'hang' 131 when @crs<='兞' then 'hao' 132 when @crs<='靏' then 'he' 133 when @crs<='嬒' then 'hei' 134 when @crs<='恨' then 'hen' 135 when @crs<='堼' then 'heng' 136 when @crs<='鬨' then 'hong' 137 when @crs<='鱟' then 'hou' 138 when @crs<='鸌' then 'hu' 139 when @crs<='蘳' then 'hua' 140 when @crs<='蘾' then 'huai' 141 when @crs<='鰀' then 'huan' 142 when @crs<='鎤' then 'huang' 143 when @crs<='顪' then 'hui' 144 when @crs<='諢' then 'hun' 145 when @crs<='夻' then 'huo' 146 when @crs<='驥' then 'ji' 147 when @crs<='嗧' then 'jia' 148 when @crs<='鑳' then 'jian' 149 when @crs<='謽' then 'jiang' 150 when @crs<='釂' then 'jiao' 151 when @crs<='繲' then 'jie' 152 when @crs<='齽' then 'jin' 153 when @crs<='竸' then 'jing' 154 when @crs<='蘔' then 'jiong' 155 when @crs<='欍' then 'jiu' 156 when @crs<='爠' then 'ju' 157 when @crs<='羂' then 'juan' 158 when @crs<='钁' then 'jue' 159 when @crs<='攈' then 'jun' 160 when @crs<='鉲' then 'ka' 161 when @crs<='乫' then 'kai' 162 when @crs<='矙' then 'kan' 163 when @crs<='閌' then 'kang' 164 when @crs<='鯌' then 'kao' 165 when @crs<='騍' then 'ke' 166 when @crs<='褃' then 'ken' 167 when @crs<='鏗' then 'keng' 168 when @crs<='廤' then 'kong' 169 when @crs<='鷇' then 'kou' 170 when @crs<='嚳' then 'ku' 171 when @crs<='骻' then 'kua' 172 when @crs<='鱠' then 'kuai' 173 when @crs<='窾' then 'kuan' 174 when @crs<='鑛' then 'kuang' 175 when @crs<='鑎' then 'kui' 176 when @crs<='睏' then 'kun' 177 when @crs<='穒' then 'kuo' 178 when @crs<='鞡' then 'la' 179 when @crs<='籟' then 'lai' 180 when @crs<='糷' then 'lan' 181 when @crs<='唥' then 'lang' 182 when @crs<='軂' then 'lao' 183 when @crs<='餎' then 'le' 184 when @crs<='脷' then 'lei' 185 when @crs<='睖' then 'leng' 186 when @crs<='瓈' then 'li' 187 when @crs<='倆' then 'lia' 188 when @crs<='纞' then 'lian' 189 when @crs<='鍄' then 'liang' 190 when @crs<='瞭' then 'liao' 191 when @crs<='鱲' then 'lie' 192 when @crs<='轥' then 'lin' 193 when @crs<='炩' then 'ling' 194 when @crs<='咯' then 'liu' 195 when @crs<='贚' then 'long' 196 when @crs<='鏤' then 'lou' 197 when @crs<='氇' then 'lu' 198 when @crs<='鑢' then 'lv' 199 when @crs<='亂' then 'luan' 200 when @crs<='擽' then 'lue' 201 when @crs<='論' then 'lun' 202 when @crs<='鱳' then 'luo' 203 when @crs<='嘛' then 'ma' 204 when @crs<='霢' then 'mai' 205 when @crs<='蘰' then 'man' 206 when @crs<='蠎' then 'mang' 207 when @crs<='唜' then 'mao' 208 when @crs<='癦' then 'me' 209 when @crs<='嚜' then 'mei' 210 when @crs<='們' then 'men' 211 when @crs<='霥' then 'meng' 212 when @crs<='羃' then 'mi' 213 when @crs<='麵' then 'mian' 214 when @crs<='廟' then 'miao' 215 when @crs<='鱴' then 'mie' 216 when @crs<='鰵' then 'min' 217 when @crs<='詺' then 'ming' 218 when @crs<='謬' then 'miu' 219 when @crs<='耱' then 'mo' 220 when @crs<='麰' then 'mou' 221 when @crs<='旀' then 'mu' 222 when @crs<='魶' then 'na' 223 when @crs<='錼' then 'nai' 224 when @crs<='婻' then 'nan' 225 when @crs<='齉' then 'nang' 226 when @crs<='臑' then 'nao' 227 when @crs<='呢' then 'ne' 228 when @crs<='焾' then 'nei' 229 when @crs<='嫩' then 'nen' 230 when @crs<='能' then 'neng' 231 when @crs<='嬺' then 'ni' 232 when @crs<='艌' then 'nian' 233 when @crs<='釀' then 'niang' 234 when @crs<='脲' then 'niao' 235 when @crs<='钀' then 'nie' 236 when @crs<='拰' then 'nin' 237 when @crs<='濘' then 'ning' 238 when @crs<='靵' then 'niu' 239 when @crs<='齈' then 'nong' 240 when @crs<='譳' then 'nou' 241 when @crs<='搙' then 'nu' 242 when @crs<='衄' then 'nv' 243 when @crs<='瘧' then 'nue' 244 when @crs<='燶' then 'nuan' 245 when @crs<='桛' then 'nuo' 246 when @crs<='鞰' then 'o' 247 when @crs<='漚' then 'ou' 248 when @crs<='袙' then 'pa' 249 when @crs<='磗' then 'pai' 250 when @crs<='鑻' then 'pan' 251 when @crs<='胖' then 'pang' 252 when @crs<='礮' then 'pao' 253 when @crs<='轡' then 'pei' 254 when @crs<='喯' then 'pen' 255 when @crs<='喸' then 'peng' 256 when @crs<='鸊' then 'pi' 257 when @crs<='騙' then 'pian' 258 when @crs<='慓' then 'piao' 259 when @crs<='嫳' then 'pie' 260 when @crs<='聘' then 'pin' 261 when @crs<='蘋' then 'ping' 262 when @crs<='魄' then 'po' 263 when @crs<='哛' then 'pou' 264 when @crs<='曝' then 'pu' 265 when @crs<='蟿' then 'qi' 266 when @crs<='髂' then 'qia' 267 when @crs<='縴' then 'qian' 268 when @crs<='瓩' then 'qiang' 269 when @crs<='躈' then 'qiao' 270 when @crs<='籡' then 'qie' 271 when @crs<='藽' then 'qin' 272 when @crs<='櫦' then 'qing' 273 when @crs<='瓗' then 'qiong' 274 when @crs<='糗' then 'qiu' 275 when @crs<='覻' then 'qu' 276 when @crs<='勸' then 'quan' 277 when @crs<='礭' then 'que' 278 when @crs<='囕' then 'qun' 279 when @crs<='橪' then 'ran' 280 when @crs<='讓' then 'rang' 281 when @crs<='繞' then 'rao' 282 when @crs<='熱' then 're' 283 when @crs<='餁' then 'ren' 284 when @crs<='陾' then 'reng' 285 when @crs<='馹' then 'ri' 286 when @crs<='穃' then 'rong' 287 when @crs<='嶿' then 'rou' 288 when @crs<='擩' then 'ru' 289 when @crs<='礝' then 'ruan' 290 when @crs<='壡' then 'rui' 291 when @crs<='橍' then 'run' 292 when @crs<='鶸' then 'ruo' 293 when @crs<='栍' then 'sa' 294 when @crs<='虄' then 'sai' 295 when @crs<='閐' then 'san' 296 when @crs<='喪' then 'sang' 297 when @crs<='髞' then 'sao' 298 when @crs<='飋' then 'se' 299 when @crs<='篸' then 'sen' 300 when @crs<='縇' then 'seng' 301 when @crs<='霎' then 'sha' 302 when @crs<='曬' then 'shai' 303 when @crs<='鱔' then 'shan' 304 when @crs<='緔' then 'shang' 305 when @crs<='潲' then 'shao' 306 when @crs<='欇' then 'she' 307 when @crs<='瘮' then 'shen' 308 when @crs<='賸' then 'sheng' 309 when @crs<='瓧' then 'shi' 310 when @crs<='鏉' then 'shou' 311 when @crs<='虪' then 'shu' 312 when @crs<='誜' then 'shua' 313 when @crs<='卛' then 'shuai' 314 when @crs<='腨' then 'shuan' 315 when @crs<='灀' then 'shuang' 316 when @crs<='睡' then 'shui' 317 when @crs<='鬊' then 'shun' 318 when @crs<='鑠' then 'shuo' 319 when @crs<='乺' then 'si' 320 when @crs<='鎹' then 'song' 321 when @crs<='瘶' then 'sou' 322 when @crs<='鷫' then 'su' 323 when @crs<='算' then 'suan' 324 when @crs<='鐩' then 'sui' 325 when @crs<='潠' then 'sun' 326 when @crs<='蜶' then 'suo' 327 when @crs<='襨' then 'ta' 328 when @crs<='燤' then 'tai' 329 when @crs<='賧' then 'tan' 330 when @crs<='燙' then 'tang' 331 when @crs<='畓' then 'tao' 332 when @crs<='蟘' then 'te' 333 when @crs<='朰' then 'teng' 334 when @crs<='趯' then 'ti' 335 when @crs<='舚' then 'tian' 336 when @crs<='糶' then 'tiao' 337 when @crs<='餮' then 'tie' 338 when @crs<='乭' then 'ting' 339 when @crs<='憅' then 'tong' 340 when @crs<='透' then 'tou' 341 when @crs<='鵵' then 'tu' 342 when @crs<='褖' then 'tuan' 343 when @crs<='駾' then 'tui' 344 when @crs<='坉' then 'tun' 345 when @crs<='籜' then 'tuo' 346 when @crs<='韤' then 'wa' 347 when @crs<='顡' then 'wai' 348 when @crs<='贎' then 'wan' 349 when @crs<='朢' then 'wang' 350 when @crs<='躛' then 'wei' 351 when @crs<='璺' then 'wen' 352 when @crs<='齆' then 'weng' 353 when @crs<='齷' then 'wo' 354 when @crs<='鶩' then 'wu' 355 when @crs<='衋' then 'xi' 356 when @crs<='鏬' then 'xia' 357 when @crs<='鼸' then 'xian' 358 when @crs<='鱌' then 'xiang' 359 when @crs<='斆' then 'xiao' 360 when @crs<='躞' then 'xie' 361 when @crs<='釁' then 'xin' 362 when @crs<='臖' then 'xing' 363 when @crs<='敻' then 'xiong' 364 when @crs<='齅' then 'xiu' 365 when @crs<='蓿' then 'xu' 366 when @crs<='贙' then 'xuan' 367 when @crs<='瀥' then 'xue' 368 when @crs<='鑂' then 'xun' 369 when @crs<='齾' then 'ya' 370 when @crs<='灩' then 'yan' 371 when @crs<='樣' then 'yang' 372 when @crs<='鑰' then 'yao' 373 when @crs<='岃' then 'ye' 374 when @crs<='齸' then 'yi' 375 when @crs<='檼' then 'yin' 376 when @crs<='譍' then 'ying' 377 when @crs<='喲' then 'yo' 378 when @crs<='醟' then 'yong' 379 when @crs<='鼬' then 'you' 380 when @crs<='爩' then 'yu' 381 when @crs<='願' then 'yuan' 382 when @crs<='鸙' then 'yue' 383 when @crs<='韻' then 'yun' 384 when @crs<='雥' then 'za' 385 when @crs<='縡' then 'zai' 386 when @crs<='饡' then 'zan' 387 when @crs<='臟' then 'zang' 388 when @crs<='竈' then 'zao' 389 when @crs<='稄' then 'ze' 390 when @crs<='鱡' then 'zei' 391 when @crs<='囎' then 'zen' 392 when @crs<='贈' then 'zeng' 393 when @crs<='醡' then 'zha' 394 when @crs<='瘵' then 'zhai' 395 when @crs<='驏' then 'zhan' 396 when @crs<='瞕' then 'zhang' 397 when @crs<='羄' then 'zhao' 398 when @crs<='鷓' then 'zhe' 399 when @crs<='黮' then 'zhen' 400 when @crs<='證' then 'zheng' 401 when @crs<='豒' then 'zhi' 402 when @crs<='諥' then 'zhong' 403 when @crs<='驟' then 'zhou' 404 when @crs<='鑄' then 'zhu' 405 when @crs<='爪' then 'zhua' 406 when @crs<='跩' then 'zhuai' 407 when @crs<='籑' then 'zhuan' 408 when @crs<='戅' then 'zhuang' 409 when @crs<='鑆' then 'zhui' 410 when @crs<='稕' then 'zhun' 411 when @crs<='籱' then 'zhuo' 412 when @crs<='漬' then 'zi' 413 when @crs<='縱' then 'zong' 414 when @crs<='媰' then 'zou' 415 when @crs<='謯' then 'zu' 416 when @crs<='攥' then 'zuan' 417 when @crs<='欈' then 'zui' 418 when @crs<='銌' then 'zun' 419 when @crs<='咗' then 'zuo' 420 else @crs end+' '+@re,@strlen=@strlen-1 421 end 422 return(@re) 423 end 424 425 go 426 427 DECLARE @str VARCHAR(max) 428 SET @str= [dbo].[fn_getpy]('深圳') 429 PRINT(@str) 430 --获取汉字首字母 431 ALTER function [dbo].[fn_getpy](@str nvarchar(100)) 432 returns nvarchar(4000) 433 as 434 begin 435 declare @str_len int,@result nvarchar(4000) ,@crs nvarchar(1) 436 set @str_len=len(@str) 437 set @result= ' ' 438 while @str_len> 0 439 begin 440 set @crs=substring(@str,@str_len,1) 441 442 select @str_len=@str_len-1,@result= 443 case 444 when @crs>='帀' then 'Z' 445 when @crs>='丫' then 'Y' 446 when @crs>='夕' then 'X' 447 when @crs>='屲' then 'W' 448 when @crs>='他' then 'T' 449 when @crs>='仨' then 'S' 450 when @crs>='呥' then 'R' 451 when @crs>='七' then 'Q' 452 when @crs>='妑' then 'P' 453 when @crs>='噢' then 'O' 454 when @crs>='拏' then 'N' 455 when @crs>='嘸' then 'M' 456 when @crs>='垃' then 'L' 457 when @crs>='咔' then 'K' 458 when @crs>='丌' then 'J' 459 when @crs>='铪' then 'H' 460 when @crs>='旮' then 'G' 461 when @crs>='发' then 'F' 462 when @crs>='妸' then 'E' 463 when @crs>='咑' then 'D' 464 when @crs>='嚓' then 'C' 465 when @crs>='八' then 'B' 466 when @crs>='吖' then 'A' 467 else @crs end+@result 468 end 469 return(@result) 470 END