[轉]SQL獲取漢字拼音首字母函式
--可支援大字符集20000個漢字!
create function f_ch2py(@chn nchar(1))
returns char(1)
as
begin
declare @n int
declare @c char(1)
set @n = 63
select @n = @n +1,
@c = case chn when @chn then char(@n) else @c end
from(
select top 27 * from (
select chn =
'吖' union all select
'八' union all select
'嚓' union all select
'咑' union all select
'妸' union all select
'發' union all select
'旮' union all select
'鉿' union all select
'丌' union all select --because have no 'i'
'丌' union all select
'咔' union all select
'垃' union all select
'嘸' union all select
'拏' union all select
'噢' union all select
'妑' union all select
'七' union all select
'呥' union all select
'仨' union all select
'他' union all select
'屲' union all select --no 'u'
'屲' union all select --no 'v'
'屲' union all select
'夕' union all select
'丫' union all select
'帀' union all select @chn) as a
order by chn COLLATE Chinese_PRC_CI_AS
) as b
return(@c)
end
go
select dbo.f_ch2py('中') --Z
select dbo.f_ch2py('國') --G
select dbo.f_ch2py('人') --R
select dbo.f_ch2py('鏌') --M
go
-----------------呼叫
CREATE FUNCTION F_GetHelpCode (
@cName VARCHAR(20) )
RETURNS VARCHAR(12)
AS
BEGIN
DECLARE @i SMALLINT, @L SMALLINT , @cHelpCode VARCHAR(12), @e VARCHAR(12), @iAscii SMALLINT
SELECT @i=1, @L=0 , @cHelpCode=''
while @L<=12 AND @i<=LEN(@cName) BEGIN
SELECT @e=LOWER(SUBSTRING(@cname,@i,1))
SELECT @iAscii=ASCII(@e)
IF @iAscii>=48 AND @iAscii <=57 OR @iAscii>=97 AND @iAscii <=122 or @iAscii=95
SELECT @cHelpCode=@cHelpCode +@e
ELSE
IF @iAscii>=176 AND @iAscii <=247
SELECT @cHelpCode=@cHelpCode + dbo.f_ch2py(@e)
ELSE SELECT @L=@L-1
SELECT @i=@i+1, @L=@L+1 END
RETURN @cHelpCode
END
GO
--呼叫
select dbo.F_GetHelpCode('大力')
[@more@]http://h.romance.blog.163.com/blog/static/9612382008625127729/來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/93029/viewspace-1018094/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 取漢字的拼音首字母的SQL函式SQL函式
- ORACLE SQL函式中文漢字轉拼音首字母OracleSQL函式
- php獲取漢字的拼音 拼音首字母PHP
- oralce中漢字轉為拼音首字母的函式(轉)函式
- 在Excel中如何獲取漢字拼音首字母?Excel
- DB2中建立漢字拼音首字母的SQL函式DB2SQL函式
- 在vc中實現獲取漢字拼音的首字母
- 漢字轉拼音pl/sqlSQL
- mysql獲取漢字的首字母MySql
- java獲取漢字的首字母Java
- 摘抄Excel和FoxPro獲取漢字拼音首字母縮寫的方法.Excel
- 如何獲取漢字拼音首字母?一般用於通訊錄
- 取漢字全拼的SQL函式SQL函式
- C# 漢字轉拼音 使用微軟的Visual Studio International Pack 類庫提取漢字拼音首字母C#微軟
- Sql Server資料庫漢字按字母、筆劃、拼音首字母、排序SQLServer資料庫排序
- C#漢字轉漢語拼音C#
- JS 漢字轉換拼音JS
- 用Oracle的NLSSORT獲取拼音首字母Oracle
- C# 獲取漢字首字母C#
- 簡單方法在C#中取得漢字的拼音的首字母(轉)C#
- C#中漢字轉拼音C#
- iOS漢字轉拼音的方法iOS
- 小談漢字轉換成拼音輔助函式和輔助類函式
- 獲取漢字串的拼音助記碼字串
- js漢字轉換為拼音功能JS
- JavaPinyin4j(漢字轉拼音)JavaAPI
- php 漢字轉換成拼音 程式PHP
- xpinyin:漢字轉換為拼音庫
- C#中取得漢語拼音首字母C#
- Python 漢字轉拼音的庫--- PyPinyinPython
- oracle 外部表 漢字轉換為拼音Oracle
- ThinkPHP 漢字轉成多種形式拼音PHP
- python3實現漢字轉拼音Python
- Hanlp漢字轉拼音使用python呼叫詳解HanLPPython
- C#漢字拼音檢索C#
- js 漢字按照拼音排序效果JS排序
- 漢字之美,拼音之韻
- 返回字串的拼音首字母 (轉)字串