当前位置:   article > 正文

SQLServer 将文字转换成拼音首字母方法_sql server 中文变拼音首字母

sql server 中文变拼音首字母
  1. CREATE function fn_GetPYM(@str nvarchar(4000))
  2. returns nvarchar(4000)
  3. --WITH ENCRYPTION
  4. as
  5. begin
  6. declare @intLen int
  7. declare @strRet nvarchar(4000)
  8. declare @temp nvarchar(100)
  9. set @intLen = len(@str)
  10. set @strRet = ''
  11. while @intLen > 0
  12. begin
  13. set @temp = ''
  14. select @temp = case
  15. when substring(@str,@intLen,1) >= '帀' then 'Z'
  16. when substring(@str,@intLen,1) >= '丫' then 'Y'
  17. when substring(@str,@intLen,1) >= '夕' then 'X'
  18. when substring(@str,@intLen,1) >= '屲' then 'W'
  19. WHEN substring(@str,@intLen,1) = 'U' THEN 'U'
  20. WHEN substring(@str,@intLen,1) = 'V' THEN 'V'
  21. when substring(@str,@intLen,1) >= '他' then 'T'
  22. when substring(@str,@intLen,1) >= '仨' then 'S'
  23. when substring(@str,@intLen,1) >= '呥' then 'R'
  24. when substring(@str,@intLen,1) >= '七' then 'Q'
  25. when substring(@str,@intLen,1) >= '妑' then 'P'
  26. when substring(@str,@intLen,1) >= '噢' then 'O'
  27. when substring(@str,@intLen,1) >= '拏' then 'N'
  28. when substring(@str,@intLen,1) >= '嘸' then 'M'
  29. when substring(@str,@intLen,1) >= '垃' then 'L'
  30. when substring(@str,@intLen,1) >= '咔' then 'K'
  31. when substring(@str,@intLen,1) >= '丌' then 'J'
  32. WHEN substring(@str,@intLen,1) = 'I' THEN 'I'
  33. when substring(@str,@intLen,1) >= '铪' then 'H'
  34. when substring(@str,@intLen,1) >= '旮' then 'G'
  35. when substring(@str,@intLen,1) >= '发' then 'F'
  36. when substring(@str,@intLen,1) >= '妸' then 'E'
  37. when substring(@str,@intLen,1) >= '咑' then 'D'
  38. when substring(@str,@intLen,1) >= '嚓' then 'C'
  39. when substring(@str,@intLen,1) >= '八' then 'B'
  40. when substring(@str,@intLen,1) >= '吖' then 'A'
  41. else rtrim(ltrim(substring(@str,@intLen,1))) ----去除左右空格
  42. end
  43. --对于汉字特殊字符,不生成拼音码
  44. if (ascii(@temp)>127) set @temp = ''
  45. --对于英文中小括号,不生成拼音码
  46. if @temp = '(' or @temp = ')' set @temp = ''
  47. select @strRet = @temp + @strRet
  48. set @intLen = @intLen - 1
  49. end
  50. return UPPER(@strRet) --转化大写,如需要转换小写可使用lower函数
  51. end
DECLARE @testString VARCHAR(100)
SET @testString = 'I LOVE YOU 中华人民共和国万岁   '
select dbo.f_getpym(@testString) AS testString的拼音码

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/405739
推荐阅读
相关标签
  

闽ICP备14008679号