我有一个 SQL 表,我使用 BETWEEN
运算符。
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 - 如何查询使用 BETWEEN 运算符在 MySql 数据库中进行文本搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57692040/