我有一个SQL表,我使用BETWEEN
运算符。
中间运算符选择范围内的值。值可以是数字、文本、日期。
stu_id name city pin
1 Raj Ranchi 123456
2 sonu Delhi 652345
3 ANU KOLKATA 879845
4 K.K's Company Delhi 345546
5 J.K's Company Delhi 123456
我有这样的疑问:-
SELECT * FROM student WHERE stu_id BETWEEN 2 AND 4 //including 2 & 4
SELECT * FROM `student` WHERE name between 'A' and 'K' //including A & not K
我的问题是为什么不包括K。
但我也希望在搜索中使用K。
最佳答案
在你真正理解之前不要使用between
。这只是一般性的建议。BETWEEN
是包含的,因此第二个查询相当于:
WHERE name >= 'A' AND
name <= 'K'
由于相等,
'K'
包含在结果集中。但是,超过一个字符并以'K'
开头的名称不是--“Ka”。相反,要明确:
WHERE name >= 'A' AND
name < 'L'
当然,
BETWEEN
可能有用。但是,它对于离散值(如整数)很有用。使用带有小数、字符串和日期/时间值的数字有点危险。这就是为什么我鼓励你们把逻辑表达为不平等。关于mysql - 如何在MySql数据库中查询使用BETWEEN运算符进行文本搜索?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57692040/