-測試資料---
if object_id('[pactinfo]') is not null drop table [pactinfo]
gocreate table [pactinfo]([id] int,[pactname] varchar(4))
insert [pactinfo]
select 1,'正常' union all
select 2,'中國' union all
select 3,'做飯' union all
select 4,'加發'
---引用前輩們的乙個函式---
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'
---結果---
id pactname
----------- --------
1 正常
2 中國
3 做飯
mysql漢字按英文本母排序
按照漢字的拼音排序,用的比較多是在人名的排序中,按照姓氏的拼音字母,從a到z排序 如果儲存姓名的字段採用的是gbk字符集,那就好辦了,因為gbk內碼編碼時本身就採用了拼音排序的方法 常用一級漢字3755個採用拼音排序,二級漢字就不是了,但考慮到人名等都是常用漢字,因此只是針對一級漢字能正確排序也夠用...
英文本母排序
116.英文本母排序 20分 c時間限制 3000 毫秒 c記憶體限制 3000 kb 題目內容 編寫乙個程式,當輸入英文本串時,計算機將這個句子中的英文本母按字典字母順序重新排列,排列後的單詞的 長度要與原始句子中的長度相同,並且要求只對 到 的字母重新排列,其它字元保持原來的狀態。輸入描述 乙個...
Python Opencv KNN英文本母識別
特徵集分析 資料集為letter recognition.data,一共為20000條資料,以逗號分隔,資料例項如下所示,第一列為字母標記,剩下的為不同的特徵。t,2,8,3,5,1,8,13,0,6,6,10,8,0,8,0,8 學習方法 1 讀入資料,並去除分隔號 2 將資料第一列作為標記,剩下...