如何在sqlite中使用like运算符进行复杂查询

时间:2012-05-15 14:36:56

标签: sql database sqlite

大家好我在SQLite数据库中有以下名为student的表。

这是我的表结构

id       name
-----------------------

"3"  "Babu Qw"  
"2"  "Ganesh Babu"  
"1"  "Murali  Abb"  
"4"  "ganesh1 Babu"             
"5"  "hari murali"              
"10" "Abbash abc"   

名称字段由名字和姓氏组合而成。例如“Babu Qw”Babu是第一个名字,Qw是由空格隔开的姓氏。

和name是输入字段,其中'ba'是我的输入参数。( Ex ..名称如'ba'

现在我想获取记录(名字或姓氏)以'ba'开头而不是任何中间字符。

输出将是:

id       name
-----------------------

"3"  "Babu Qw"  
"2"  "Ganesh Babu"  
"4"  "ganesh1 Babu" 

这里“Abbash abc”(名字Abbash或姓氏abc不以ba开头)所以“Abbash abc”未列出。

2 个答案:

答案 0 :(得分:6)

这应该可以解决问题:

select id, name
from table
where name like 'Ba%' or name like '% Ba%'

答案 1 :(得分:1)

您可以将REGEXP与SQLite一起使用吗? 像

这样的东西
SELECT * FROM table WHERE name REGEXP('^ba.*') OR name REGEXP('^.* ba.*');

注意:我不是真的在正则表达式,所以这个可能是假的,或者你甚至可能只在一个。 嗯,你看到了这个想法。