我有一个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/

10-13 02:51