資料庫中文字轉拼音首拼 標量函式

2021-09-27 03:45:01 字數 2219 閱讀 8142

直接上sql,不用修改執行就可以使用; 

create function [dbo].[fn_getpy] (@str nvarchar(4000)) returns nvarchar (4000) --with encryption

asbegin

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 upper(@strret)

end

使用:

select dbo.fn_getpy('這是個標量函式')
結果:

程式設計如此簡單~~~ 

EF中使用資料庫的標量值函式

參考資料 1 首先修改edmx裡新增的這個,將iscomposable屬性改為false,去掉returntype屬性,然後新增子節點 todistance aggregate false builtin false niladicfunction false iscomposable false ...

MySql資料庫無法插入中文字串

最近需要開發乙個註冊碼的登入,用到mysql資料庫,在將資料庫遷移到伺服器上發現向資料庫中插入中文字串時出現?亂碼我的解決方法 1 開啟mysql服務利用命令列檢視當前資料庫支援的預設編碼 輸入 show variables like char 可以看到當前資料庫的編碼 注意 character s...

mysql資料庫無法插入中文字元

分析原因 這是因為之前修改了資料庫的編碼,但資料表的編碼卻沒有跟著改變導致的。安裝mysql 時,使用的是latin編碼 隨後修改為utf8 建的資料表是在latin編碼下建立的。而jsp頁面使用的是utf8,所以無法插入資料。1.修改mysql資料庫編碼 修改mysql安裝目錄下的my.ini檔案...