直接將底下的函式執行,通過後台傳入相應的引數即可查詢資料
create function f_getpy(@str nvarchar(4000))
returns nvarchar(4000)
as begin
declare @strlen int,@re nvarchar(4000)
declare @t table(chr nchar(1) collate chinese_prc_ci_as,letter nchar(1))
insert into @t(chr,letter)
select '吖 ', 'a ' union all select '八 ', 'b ' union all
select '嚓 ', 'c ' union all select '咑 ', 'd ' union all
select '妸 ', 'e ' union all select '發 ', 'f ' union all
select '旮 ', 'g ' union all select '鉿 ', 'h ' union all
select '丌 ', 'j ' union all select '咔 ', 'k ' union all
select '垃 ', 'l ' union all select '嘸 ', 'm ' union all
select '拏 ', 'n ' union all select '噢 ', 'o ' union all
select '妑 ', 'p ' union all select '七 ', 'q ' union all
select '呥 ', 'r ' union all select '仨 ', 's ' union all
select '他 ', 't ' union all select '屲 ', 'w ' union all
select '夕 ', 'x ' union all select '丫 ', 'y ' union all
select '帀 ', 'z '
select @strlen=len(@str),@re= ' '
while @strlen> 0
begin
select top 1 @re=letter+@re,@strlen=@strlen-1
from @t a where chr <=substring(@str,@strlen,1)
order by chr desc
if @@rowcount=0
select @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1
end
return(@re)
end
---查詢---
select
* from
[pactinfo]
where
left(dbo.f_getpy(pactname),1)='z'
根據漢字獲取拼音
前段時間因為需要對多個姓名進行排序,然後找了好幾個漢字轉拼音的方法都存在各種bug,要麼是漢字型檔太少,要麼是對於多音字無法識別。最終自己研究了一下gb2312的拼音庫,寫了個很簡單還算比較好用的方法貢獻給大家。import net.sourceforge.pinyin4j.pinyinhelper...
SQL Server根據字段查詢不出記錄
今天寫了一條select語句,很奇怪的一件事,我寫程式幾年了,第一次碰到這個問題,就是資料庫裡有這個值,你根據這個值查詢就是查詢不出來這行記錄。所以我想是不是裡面有空格,回車什麼的,最後果然如此。解決方法 移除回車符 update tablename set colname replace coln...
SQL 拼音查詢
create function f getpy str nvarchar 4000 returns nvarchar 4000 as begin declare strlen int,re nvarchar 4000 declare t table chr nchar 1 collate chine...