我的my_own表包含列 - PersonID,FirstName,LastName,City,age和WorkStatus。使用WHERE条件写入BETWEEN IN语法,它不会返回任何行,但不会给出任何错误。
SELECT PersonID,FirstName,LastName,City,age,WorkStatus
FROM sakila.my_own
WHERE (FirstName BETWEEN 'Omer' AND 'Amrah')
AND NOT WorkStatus IN ('Unemployee');
为什么这样做?如果有人有任何答案,请与我分享。 提前感谢您的回答。
答案 0 :(得分:-1)
您正在使用BETWEEN
比较字符串。
所以显然它不会将它作为数字或日期字段进行比较。
还有一件事
AND NOT WorkStatus IN ('Unemployee');
而不是这个你必须把
AND WorkStatus NOT IN ('Unemployee');
答案 1 :(得分:-1)
你查询:
SELECT PersonID,FirstName,LastName,City,age,WorkStatus
FROM sakila.my_own
WHERE (FirstName BETWEEN 'Omer' AND 'Amrah')
在语法上是正确的,但在语义上不正确。更具体地说,子句:FirstName BETWEEN 'Omer' AND 'Amrah'
将始终导致空集,因为'Omer' > 'Amrah'
,字符串方式。尝试:
FirstName BETWEEN 'Amrah' AND 'Omer'
答案 2 :(得分:-1)
您应该将LIKE
条件更改为使用WHERE FirstName LIKE '%Omer%' Or FirstName LIKE '%Amrah%'
AND WorkStatus <> 'Unemployee';
运算符
window.open()