我想提取以a
或b
开头并以a
或b
结尾的对象。
下面是我的解决方案。我试图弄清楚为什么这是错误的:
select objects from the table
where objects like "a%" or "b%" and
objects like "%a" or "%b";
感谢您的帮助
答案 0 :(得分:2)
使用比较运算符时,必须在每个条件上指定列名称。通常会犯此错误,所以请放心,您不是第一个,最肯定不会是最后一个。
运行时对其的解释方式为WHERE (CONDITION) OR (something unknown so I'll make it true);
,但通过在两种情况下都指定列名,它将为您提供所需的功能WHERE (CONDITION) OR (SOMEOTHERCONDITION);
SELECT objects
FROM the table
WHERE objects LIKE "a%"
OR objects LIKE "b%"
AND objects LIKE "%a"
OR objects LIKE "%b";