sql按照拼音字段排序,且只查出以字母A开头的所有数据,这个sql应该怎么写
发布网友
发布时间:2022-04-07 15:26
我来回答
共2个回答
懂视网
时间:2022-04-07 19:48
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'
sqlserver根据拼音查询数据
标签:sqlserver 数据 substring
热心网友
时间:2022-04-07 16:56
SQLSERVER数据库可以这样
select *
from table_name
where left(拼音查询,1)='A'
order by 拼音查询
追问我的是oracle数据库,left不支持,不知道应该采用那个关键字代替
追答改成 substr(拼音查询,1,1)='A'
sql按照拼音字段排序,且只查出以字母A开头的所有数据,这个sql应该怎么写...
SQLSERVER数据库可以这样 select *from table_namewhere left(拼音查询,1)='A' order by 拼音查询
如何写出查找以名字拼音A开头的sql语句
PLSQL程序块代码 如下:declare i number;begin update emp set sal=sal*1.1 where ( ename like 'a%' or ename like 's%' )and sal<5000/1.1;i:=sql%rowcount;if i/1000=0 then ---每1000条提交一次对于上千万条记录的大表 使用 提高效率commit;end if;end;OK了 记得在数据库上...
如何写出查找以名字拼音A开头的sql语句
select a.name from 表 a where a.name like 'A%'
sql中怎样按拼音排序
这个有点难,不过汉字编码本来就是部分的按拼音排序的,比如“啊”的内码比“这”小,所以你直接排序汉字,得到的结果也是大致按照拼音排序。GB2312编码分两级汉字,一级汉字是常用字,内码比二级汉字小,但是在一级汉字内部,内码是按照拼音排序的,...
asp中sql语句怎么能按姓名的首字母排序
sql中按姓名拼音排序 select isnull(b.py,upper(left(a.username,1))) as py ,a.username from (select 'a3' as username union select UserName from UserTable --修改这里的姓名列~)a left outer join (select 'A' as PY,N'骜' as word, N'啊' as sword union select 'B',N'簿'...
...存放的都是该字段名称的第一个字母,怎么写sql语句
SELECT * FROM 表名 ORDER BY 拼音字段
求sql数据库搜索的语句,要求是按输入每个英文单词的首字母搜索,例如
其实这个问题是一个 数据库设计 问 题。需要实现类似功能,通常是在一张表中同时存在汉字和拼音两个字段,例如userinfo表有username=张三,同时存在 pinyin=zhangsan。这样在实现首字母查询时就可以通过select from user where pinyin like 'z%'方便得到用户名为张三的数据。
sql怎么order by 汉字,比如名字从z-a这么排
SQL的Order By子句是按汉子拼音顺序+汉子的四声调排序的。例如:“达”、“大”、“带”是由小到大的的顺序。
access如何用sql语句按首字母排序
可以这样 一、sql="select * from 表 order by name asc" 默认就是这样 二、加一个字段,在输入信息的时候,每个名字加个索引字母,然后用那个字段来排序,例如,张三就是Z,李四就是L,王五是W sql="select * from 表 order by 索引字段 asc"...
在SQL中怎样用指定索引查询
比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果...