取漢字的拼音首字母的SQL函式
版本一:
CREATE FUNCTION f_GetPY(@str nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @py TABLE(
ch char(1),
hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
INSERT @py SELECT 'A',N'吖',N'鏊'
UNION ALL SELECT 'B',N'八',N'簿'
UNION ALL SELECT 'C',N'嚓',N'錯'
UNION ALL SELECT 'D',N'噠',N'跺'
UNION ALL SELECT 'E',N'屙',N'貳'
UNION ALL SELECT 'F',N'發',N'馥'
UNION ALL SELECT 'G',N'旮',N'過'
UNION ALL SELECT 'H',N'鉿',N'蠖'
UNION ALL SELECT 'J',N'丌',N'竣'
UNION ALL SELECT 'K',N'咔',N'廓'
UNION ALL SELECT 'L',N'垃',N'雒'
UNION ALL SELECT 'M',N'媽',N'穆'
UNION ALL SELECT 'N',N'拿',N'糯'
UNION ALL SELECT 'O',N'噢',N'漚'
UNION ALL SELECT 'P',N'趴',N'曝'
UNION ALL SELECT 'Q',N'七',N'群'
UNION ALL SELECT 'R',N'蚺',N'箬'
UNION ALL SELECT 'S',N'仨',N'鎖'
UNION ALL SELECT 'T',N'他',N'籜'
UNION ALL SELECT 'W',N'哇',N'鋈'
UNION ALL SELECT 'X',N'夕',N'蕈'
UNION ALL SELECT 'Y',N'丫',N'蘊'
UNION ALL SELECT 'Z',N'匝',N'做'
DECLARE @i int
SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
WHILE @i>0
SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
FROM @py
WHERE SUBSTRING(@str,@i,1) BETWEEN hz1 AND hz2
RETURN(@str)
END
GO
版本二:
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
GO
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13651903/viewspace-1015464/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [轉]SQL獲取漢字拼音首字母函式SQL函式
- ORACLE SQL函式中文漢字轉拼音首字母OracleSQL函式
- php獲取漢字的拼音 拼音首字母PHP
- DB2中建立漢字拼音首字母的SQL函式DB2SQL函式
- oralce中漢字轉為拼音首字母的函式(轉)函式
- 取漢字全拼的SQL函式SQL函式
- 在vc中實現獲取漢字拼音的首字母
- 在Excel中如何獲取漢字拼音首字母?Excel
- 摘抄Excel和FoxPro獲取漢字拼音首字母縮寫的方法.Excel
- mysql獲取漢字的首字母MySql
- java獲取漢字的首字母Java
- 漢字轉拼音pl/sqlSQL
- Sql Server資料庫漢字按字母、筆劃、拼音首字母、排序SQLServer資料庫排序
- C# 漢字轉拼音 使用微軟的Visual Studio International Pack 類庫提取漢字拼音首字母C#微軟
- 如何獲取漢字拼音首字母?一般用於通訊錄
- 簡單方法在C#中取得漢字的拼音的首字母(轉)C#
- iOS漢字轉拼音的方法iOS
- C#中取得漢語拼音首字母C#
- 用Oracle的NLSSORT獲取拼音首字母Oracle
- python返回漢字的首字母Python
- C#漢字轉漢語拼音C#
- Python 漢字轉拼音的庫--- PyPinyinPython
- JS 漢字轉換拼音JS
- 小談漢字轉換成拼音輔助函式和輔助類函式
- 獲取漢字串的拼音助記碼字串
- 修改後的取得漢字首字母的lazarus函式,可以自己增加疑難漢字,這個應該比較理想了函式
- mysql 中如何取得漢字欄位的各漢字首字母MySql
- C#漢字拼音檢索C#
- C#中漢字轉拼音C#
- js 漢字按照拼音排序效果JS排序
- 漢字之美,拼音之韻
- JavaScript按照漢字拼音順序排序JavaScript排序
- js漢字轉換為拼音功能JS
- JavaPinyin4j(漢字轉拼音)JavaAPI
- php 漢字轉換成拼音 程式PHP
- xpinyin:漢字轉換為拼音庫
- js 漢字陣列按拼音排序JS陣列排序
- C# 獲取漢字首字母C#