1

私のデータベーステーブルには、salary_to とsalary_from という名前の 2 つのフィールドがあります。これで、私の Web サイトのフロントエンドで、ユーザーは 20000 などの入力フィールドに給与を入力できます。今、データベースでチェックを実行して、いずれかの行に salyto とsalaryfrom があるかどうかを確認したいと思います。値「20000」があります。私の希望のアルゴは次のようになります

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

between 演算子を使用してこの種のフィルタリングを実行できますか、それとも >,< 演算子を使用するだけですか? プロジェクトにmysqlデータベースを使用している場合。

4

2 に答える 2

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 に答える
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 に答える