当前位置:首页 » 编程语言 » sql首字母查询

sql首字母查询

发布时间: 2022-11-15 21:05:49

‘壹’ 求sql数据库搜索的语句,要求是按输入每个英文单词的首字母搜索,例如

其实这个问题是一个
数据库设计

题。需要实现类似功能,通常是在一张表中同时存在汉字和拼音两个字段,例如userinfo表有username=张三,同时存在
pinyin=zhangsan。这样在实现首字母查询时就可以通过select
*
from
user
where
pinyin
like
'z%'
方便得到用户名为张三的数据。

‘贰’ 如何查询首字母为‘a’的记录 sql server

查询首字母为‘a’的记录使用到的是,sql server模糊查询语句。

一、模糊查询使用到LIKE 操作符,用于在 WHERE 子句中搜索列中的指定模式。

二、SQL LIKE 操作符语法

SELECTcolumn_name(s)
FROMtable_name
WHEREcolumn_nameLIKEpattern

注:pattern会使用到‘%’通配符,表示任意字符或字符串

三、实例演示:

1、实例表格:exp_test

‘叁’ sql中怎么根据汉字的拼音首字母查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
-- SQLServer:
---测试数据---
if object_id('[pactinfo]') is not null drop table [pactinfo]
go
create 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 做饭

(所影响的行数为 3 行)

‘肆’ SQL语句如何查询首字母大写

select * from 表 where 字段 collate chinese_prc_cs_as_ws like 'A%' (查大写 )
select * from 表 where 字段 collate chinese_prc_cs_as_ws like 'a%' (查小写 )
--就是在字段名后加 collate chinese_prc_cs_as_ws

‘伍’ sql中怎么根据汉字的拼音首字母查询

--SQLServer:
---测试数据---
ifobject_id('[pactinfo]')isnotnulldroptable[pactinfo]
go
createtable[pactinfo]([ID]int,[pactname]varchar(4))
insert[pactinfo]
select1,'正常'unionall
select2,'中国'unionall
select3,'做饭'unionall
select4,'加发'

---引用前辈们的一个函数---
createfunctionf_GetPy(@strnvarchar(4000))
returnsnvarchar(4000)
as
begin
declare@strlenint,@renvarchar(4000)
declare@ttable(chrnchar(1)collateChinese_PRC_CI_AS,letternchar(1))
insertinto@t(chr,letter)
select'吖','A'unionallselect'八','B'unionall
select'嚓','C'unionallselect'咑','D'unionall
select'妸','E'unionallselect'发','F'unionall
select'旮','G'unionallselect'铪','H'unionall
select'丌','J'unionallselect'咔','K'unionall
select'垃','L'unionallselect'呒','M'unionall
select'拏','N'unionallselect'噢','O'unionall
select'妑','P'unionallselect'七','Q'unionall
select'呥','R'unionallselect'仨','S'unionall
select'他','T'unionallselect'屲','W'unionall
select'夕','X'unionallselect'丫','Y'unionall
select'帀','Z'
select@strlen=len(@str),@re=''
while@strlen>0
begin
selecttop1@re=letter+@re,@strlen=@strlen-1
from@tawherechr<=substring(@str,@strlen,1)
orderbychrdesc
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'

---结果---
IDpactname
-------------------
1正常
2中国
3做饭

(所影响的行数为3行)

‘陆’ 请问sql中如何输入各个汉字的首字母进行查询

类似的功能我做过,有表和
存储过程

汉字
转pinying,再查询。

‘柒’ sql中怎么根据汉字的拼音首字母查询

---测试数据---
ifobject_id('[pactinfo]')isnotnulldroptable[pactinfo]
go
createtable[pactinfo]([ID]int,[pactname]varchar(4))
insert[pactinfo]
select1,'正常'unionall
select2,'中国'unionall
select3,'做饭'unionall
select4,'加发'

---引用前辈们的一个函数---
createfunctionf_GetPy(@strnvarchar(4000))
returnsnvarchar(4000)
as
begin
declare@strlenint,@renvarchar(4000)
declare@ttable(chrnchar(1)collateChinese_PRC_CI_AS,letternchar(1))
insertinto@t(chr,letter)
select'吖','A'unionallselect'八','B'unionall
select'嚓','C'unionallselect'咑','D'unionall
select'妸','E'unionallselect'发','F'unionall
select'旮','G'unionallselect'铪','H'unionall
select'丌','J'unionallselect'咔','K'unionall
select'垃','L'unionallselect'呒','M'unionall
select'拏','N'unionallselect'噢','O'unionall
select'妑','P'unionallselect'七','Q'unionall
select'呥','R'unionallselect'仨','S'unionall
select'他','T'unionallselect'屲','W'unionall
select'夕','X'unionallselect'丫','Y'unionall
select'帀','Z'
select@strlen=len(@str),@re=''
while@strlen>0
begin
selecttop1@re=letter+@re,@strlen=@strlen-1
from@tawherechr<=substring(@str,@strlen,1)
orderbychrdesc
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'

---结果---
IDpactname
-------------------
1正常
2中国
3做饭

(所影响的行数为3行)

‘捌’ 在sql查询字段中怎么去判断是以某字母开头

方法1:用%即可达到。

例如:SELECT*FROMusersWHEREemaillike"%b@email.com%"。

方法2:使用mysql字符串函数find_in_set();

SELECT*FROMusersWHEREfind_in_set('aa@email.com',email);

注意,mysql字符串函数find_in_set(str1,str2)返回str2中str1的位置索引,str2必须被分割成“,”。

方法3:多值模糊查询,使用mysql正则:REGEXP。

这个方法相当于(比如'%1%'或'%3%'或'%5%')。

从'by_content'中选择*,其中标题REGEXP'(1|,3|5)'。

(8)sql首字母查询扩展阅读:

Mysql字符串函数:FIND_IN_SET()

语法:

strlistFIND_IN_SET(STR)

第一个参数STR是要查找的字符串。

第二个参数strlist是要搜索的字符串的逗号分隔列表。

如果字符串STR位于由N个子链组成的字符串行表中,则返回值的范围为1到N。

字符串行表是由','符号分隔的子链组成的字符串。如果第一个参数是常量字符串,第二个参数是类型集列,则FIND_IN_SET()函数被优化为使用位。

如果STR不在strlist中,或者strlist是空字符串,则返回值为0。如果任何参数为空,则返回值为空。当第一个参数包含逗号(',')时,此函数将无法正常工作。

‘玖’ 求sql数据库搜索的语句,要求是按输入每个英文单词的首字母搜索,例如

其实这个问题是一个数据库设计问
题。需要实现类似功能,通常是在一张表中同时存在汉字和拼音两个字段,例如userinfo表有username=张三,同时存在
pinyin=zhangsan。这样在实现首字母查询时就可以通过select * from user where pinyin like
'z%' 方便得到用户名为张三的数据。

‘拾’ sql中怎么根据汉字的拼音首字母查询

您好:
您这个需求还是增加一个拼音辅助列比较合适。
这个辅助列的生成,可以通过其他程序来完成。
另外。您还需要考虑多音字的问题。

热点内容
后缀解压什么意思 发布:2025-01-13 10:35:17 浏览:185
索尼安卓11如何退回安卓10 发布:2025-01-13 10:24:09 浏览:127
程序编译结构 发布:2025-01-13 10:24:08 浏览:90
创建邮箱地址服务器连接错误 发布:2025-01-13 09:49:24 浏览:723
linux编辑文档 发布:2025-01-13 09:47:51 浏览:435
二手制冷压缩机 发布:2025-01-13 09:43:59 浏览:585
网鱼电脑密码多少 发布:2025-01-13 09:33:46 浏览:464
如何取消子账号密码 发布:2025-01-13 09:22:41 浏览:347
抖音搜索有缓存 发布:2025-01-13 09:17:28 浏览:590
c语言字符数组连接 发布:2025-01-13 08:55:11 浏览:901