MySQL多和和或匹配没有结果

时间:2014-07-18 11:12:03

标签: php mysql where-clause multiple-columns

我有一个包含许多字段的表

我的陈述:

select * from
[table]
WHERE
(field1 LIKE 'test%' or field2 LIKE 'test%')
AND
(field1 LIKE 'foo%' or field2 LIKE 'foo%')
AND
public='1'

我的记录包括:field1 =' foobar',field2 =' testing',public =' 1'但查询最不匹配这个!

任何人都可以帮忙吗?

4 个答案:

答案 0 :(得分:0)

您应该尝试:

select * from
[table]
WHERE
(ltrim(field1) LIKE 'test%' or ltrim(field2) LIKE 'test%')
AND
(ltrim(field1) LIKE 'foo%' or ltrim(field2) LIKE 'foo%')
AND
public='1'

我希望你在数据库的字符串开头有一些空格

答案 1 :(得分:0)

你可以试试像

这样的trim()函数吗?
select * from
[table]
WHERE
(trim(field1) LIKE 'test%' or trim(field2) LIKE 'test%')
AND
(trim(field1) LIKE 'foo%' or trim(field2) LIKE 'foo%')
AND
public='1'

答案 2 :(得分:0)

field1='foobar', field2='testing', public='1'

如果您需要以上记录,请尝试此

select * from
[table]
WHERE
(field1 LIKE 'test%' AND field2 LIKE 'foo%')
OR
(field1 LIKE 'foo%' AND field2 LIKE 'test%')
AND
public='1'

答案 3 :(得分:0)

试试这个

select * from [table] WHERE ((conact(field1,field2) LIKE '%test%' ) and(conact(field1,field2) LIKE '%foo%')) AND public='1'