1

在我的数据库表中,有两个名为salary_to 和salary_from 的字段。现在在我网站的前端,用户可以在输入字段中输入薪水,比如20000。现在我想在数据库中检查是否有任何行有salaryto 和salaryfrom 之间值'20000'所在的位置。我想要的算法看起来像这样

 SELECT all ROW where salaryto is less than 20000 and salaryfrom is greater than 20000

我可以使用 between 运算符来执行这种过滤,或者我只是使用 >,< 运算符来执行这种过滤吗?前提是我为我的项目使用 mysql 数据库。

4

2 回答 2

0

between 运算符INCLUSIVE意味着它包含 START 和 END 值。虽然< >是独家的。

SELECT *
FROM  tableName
WHERE salaryto < 20000 and salaryfrom > 20000

因此,此处获取的行的salaryto值为 19999 及以下 ANDsalaryfrom值为 20001 及以上,假设它增加 1。

于 2013-01-15T06:16:33.000 回答
0

你可以使用这个:

SELECT * FROM yourTable WHERE 2000 BETWEEN salary_to AND salary_from

但这是推荐的:

SELECT * FROM yourTable WHERE (salary_to < 2000) and (salary_from > 2000)
于 2013-01-15T06:21:58.017 回答