模糊查询Sql语句问题

现在在做的功能是输入框输入用户的姓名拼音然后回车,然后显示的是用户汉字字段的数据。实现的方法是,在数据表新建一个字段用来存放用户的拼音,比如姓名字段为:张三 我对应的拼音字段就为ZS。现在遇到的问题是不知道如何写模糊查询的sql语句。比如我数据库一个表有三个字段:ID name pyname,就是如何写sql,让数据库知道我输入拼音字段的值显示的确是汉字字段呢

模糊之后估计效率不太好
如果知道z是开头字母
Select name Where pyname like ‘z*s*'
如果zs都是中间字母
Select name Where pyname like ‘*z*s*'
祝好运,望采纳。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-19
select * from 表面 like '%ZS%' # like是不分大小写的。本回答被网友采纳
第2个回答  2019-04-18
Select name Where pyname like ‘zs’
第3个回答  2020-01-11
如果是经常查询的数据,
建议建中间关系表.
例如:
create
table
person
(id
int
not
null
primary
key,
name
varchar(32))
create
table
role
(id
int
not
null
primary
key,
rolefunc
varchar(32))
create
table
rl_person_role
(personid
int
not
null,
roleid
int
not
null,
primary
key(personid,
roleid))
这样的数据结构(有主键索引)在千万级的查询下应该是没问题的.
相似回答