ホームページ > データベース > mysql チュートリアル > SQL Server编写函数获取汉字的拼音码

SQL Server编写函数获取汉字的拼音码

WBOY
リリース: 2016-06-07 16:20:07
オリジナル
1553 人が閲覧しました

SQL Server编写函数获取汉字的拼音码(首字母) Create function fun_getPY ( @str nvarchar(4000) ) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY='' while len(@str)0 begin set @word=left(@str,1) --如果非汉字字

   SQL Server编写函数获取汉字的拼音码(首字母)

  Create function fun_getPY ( @str nvarchar(4000) )

  returns nvarchar(4000)

  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

  --调用

  select dbo.fun_getpy('张三')

  --结果:ZS

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート