MySQL BETWEEN 構文
BETWEEN 演算子は、2 つの値の間のデータ範囲を選択するために WHERE 式で使用されます。 BETWEEN は AND と一緒に使用され、構文は次のとおりです:
WHERE column BETWEEN value1 AND value2 WHERE column NOT BETWEEN value1 AND value2
通常、value1 は value2 より小さい必要があります。 BETWEEN の前に NOT 演算子がある場合、BETWEEN の逆、つまりこの範囲外の値を選択することを意味します。
BETWEEN 例
uid が 2 から 5 までのユーザー データを選択します:
SELECT * FROM user WHERE uid BETWEEN 2 AND 5
返されるクエリ結果は次のとおりです:
数値タイプに加えて、BETWEEN は次のように文字列範囲もサポートし、すべてのユーザー名を選択しますbetween Users between a to j (および単一文字 k/K を含む):
SELECT * FROM user WHERE username BETWEEN 'a' AND 'k'
文字範囲は漢字もサポートしていますが、一般的には意味がありません。
MySQL BETWEEN Boundary
ほとんどすべてのデータベースが BETWEEN...AND 演算子をサポートしていますが、データベースが異なれば BETWEEN...AND の処理方法も異なります。 MySQL では、BETWEEN には、uid が 2 ~ 5 のユーザー データを選択する上記の例のように、value1 と value2 の境界値が含まれます。
一部のデータベースには value1 と value2 の境界値が含まれておらず (> および = および
MySQL BETWEEN 時刻と日付
BETWEEN AND は、時刻または日付範囲内のコンテンツを取得するためによく使用されます。一般的な BETWEEN 時刻と日付の例をいくつか示します:
// int 时间戳格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN 1218196800 AND 1230739199 // DATE 格式,查询 2008-08-08 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN '2008-08-08' AND '2009-01-01' // DATETIME 格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN '2008-08-08 20:00:00' AND '2008-12-31 23:59:59'
ただし、現在時刻までのデータをクエリする場合は、次のことをお勧めします。 >= 演算子を使用します :
// DATETIME 格式,查询 2008-08-08 20:00:00 到当前时刻的数据 SELECT * FROM table WHERE column_time >= '2008-08-08 20:00:00'
同じ要件と異なるフィールド タイプが異なる方法で記述される可能性があることがわかります。効率の点では、int タイムスタンプ形式が最も効率的です。
上記の BETWEEN の例はすべて SELECT クエリですが、BETWEEN は UPDATE や DELETE などの WHERE 式を適用する SQL でも使用できます。
MySQL BETWEEN データ比較
BETWEEN にもデータ比較関数があり、構文は次のとおりです:
expr BETWEEN min AND max
expr 式の値が min 以上、max 以下の場合、戻り値BETWEEN の値が 1 の場合、それ以外の場合は 0 を返します。この関数を使用すると、式または値が特定の範囲内にあるかどうかを判断できます。レベルが高く、効率もさらに向上します。もちろん、BETWEEN は境界値の問題により十分な柔軟性がないため、状況に応じてどの演算子を使用するかについて特別な処理が必要になります。
上記は MySQL BETWEEN の使用に関する内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。