我遇到了一些使用条件的查询:
select ...
where Name like '%'
是否有使用这样的通配符的目的?
答案 0 :(得分:5)
WHERE Name LIKE '%'
相当于WHERE Name IS NOT NULL
(至少在我运行的测试中)。后者可能更有效率,IMO更容易看到其意图,但我认为like '%'
可以节省很少的击键次数。无论哪种方式,它不仅仅是填料。
答案 1 :(得分:1)
可能不是,unles有一些边缘情况我不知道处理文本搜索的方式。如果我现在在MySQL客户端附近,如果Name为null,我会做一个实验来看看它做了什么。
我看到一些代码使用带有“... where 1 = 1”的查询只是因为输出无意义的where子句比处理生成的查询中不存在where子句的情况更容易。或者我曾经在某些编辑中删除了一个有意义的条件。