create function fn_getpy(@str nvarchar(4000))
returns nvarchar(4000)
--with encryption 提取中文字段的 縮寫(每個字的首字母組合)
as
begin
declare @intlen int
declare @strret nvarchar(4000)
declare @temp nvarchar(100)
set @intlen = len(@str)
set @strret = ''
while @intlen > 0
begin
set @temp = ''
select @temp = case
when substring(@str,@intlen,1) >= '帀' then 'z'
when substring(@str,@intlen,1) >= '丫' then 'y'
when substring(@str,@intlen,1) >= '夕' then 'x'
when substring(@str,@intlen,1) >= '屲' then 'w'
when substring(@str,@intlen,1) >= '他' then 't'
when substring(@str,@intlen,1) >= '仨' then 's'
when substring(@str,@intlen,1) >= '呥' then 'r'
when substring(@str,@intlen,1) >= '七' then 'q'
when substring(@str,@intlen,1) >= '妑' then 'p'
when substring(@str,@intlen,1) >= '噢' then 'o'
when substring(@str,@intlen,1) >= '拏' then 'n'
when substring(@str,@intlen,1) >= '嘸' then 'm'
when substring(@str,@intlen,1) >= '垃' then 'l'
when substring(@str,@intlen,1) >= '咔' then 'k'
when substring(@str,@intlen,1) >= '丌' then 'j'
when substring(@str,@intlen,1) >= '鉿' then 'h'
when substring(@str,@intlen,1) >= '旮' then 'g'
when substring(@str,@intlen,1) >= '發' then 'f'
when substring(@str,@intlen,1) >= '妸' then 'e'
when substring(@str,@intlen,1) >= '咑' then 'd'
when substring(@str,@intlen,1) >= '嚓' then 'c'
when substring(@str,@intlen,1) >= '八' then 'b'
when substring(@str,@intlen,1) >= '吖' then 'a'
else rtrim(ltrim(substring(@str,@intlen,1)))
end
--對於漢字特殊字元,不生成拼音碼
if (ascii(@temp)>127) set @temp = ''
--對於英文中小括號,不生成拼音碼
if @temp = '(' or @temp = ')' set @temp = ''
select @strret = @temp + @strret
set @intlen = @intlen - 1
end
return lower(@strret)
end--select duifname from lsdtxb where duifbsh='501'
select dbo.fn_getpy('中國') py
select dbo.fn_getpy([duifname]) from lsdtxb
PL SQL Developer 中文字段顯示亂碼
在資料表中插入一條資料,可以正常出入,但是當查詢顯示的時候,中文字元無法顯示出來,而是顯示的問號 如執行以下 create table student sid number 10 sname varchar2 20 constraint student sid un unique sid inser...
pl sql developer 中文字段顯示亂碼
pl sql developer 中文字段顯示亂碼 nls lang格式 nls lang language territory.charset 有三個組成部分 語言 地域和字符集 每個成分控制了nls子集的特性。其中 language 指定伺服器訊息的語言。territory 指定伺服器的日期和數...
mysql中文字段排序
mysql中文排序失效解決方法convert name using gbk 當mysql使用的預設utf8編碼時,如果直接order by 中文字段排序,排序結果會不正確。將字段先轉換成gbk編碼再排序 convert 欄位名 using gbk convert 提供乙個在不同字符集之間轉換資料的方...