我有一个包含许多字段的表
我的陈述:
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'但查询最不匹配这个!
任何人都可以帮忙吗?
答案 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'