正确的方法在where子句mysql查询中使用子字符串

时间:2017-09-25 18:19:36

标签: mysql sql string select substring

我在mysql中有一个名为type的列表。内容如下

Type
Test 12
Test abc
start 1
start abcd
end 123

现在,我想选择typeTest

开头的记录

预期结果:

Test 12
Test abc

但我得到了

测试12    或空结果

我试过如下:

select * from table where type = 'Test 12'
select * from table where type = '%Test%'
select * from table where type = '%Test'

正确的sql陈述应该是什么。

4 个答案:

答案 0 :(得分:2)

如果您想进行部分匹配,则需要LIKE运算符:

SELECT * FROM table WHERE type LIKE 'Test%'

答案 1 :(得分:1)

使用Like关键字

select * from table where type LIKE 'Test%'

答案 2 :(得分:1)

相等(=)运算符不接受通配符。您应该使用like运算符:

SELECT * FROM table WHERE type LIKE 'Test%'

答案 3 :(得分:1)

太靠近了!您想要开始字符串,然后不要在开头使用%,并使用LIKE代替=

select * from table where type LIKE 'Test%'