查询:
SELECT * FROM table
WHERE fieldA LIKE '%%'
AND fieldB LIKE '%%'
AND fieldC LIKE '%%'
Run Code Online (Sandbox Code Playgroud)
这仅返回已完成所有字段的记录.我的想法是它应该返回表中的所有记录.
'%%'实际上是否代表需要一个值?
UPDATE1:
感谢一些好的问题,找到了解决方案:
查询应该像:
SELECT * FROM table
WHERE if(fieldA IS NOT NULL,fieldA LIKE '%%',fieldA IS NULL)
...
Run Code Online (Sandbox Code Playgroud)
Mat*_*nes 10
LIKE'%%'匹配任何字符串,即使是长度为零的字符串.您的查询结果是返回三个字段中包含字符串的所有行.
我的猜测是,未完成的字段为NULL.也许你应该检查IS NOT NULL而不是LIKE'%%'?
| 归档时间: |
|
| 查看次数: |
2124 次 |
| 最近记录: |