0

「その間」を使用する場合、SQL標準またはMySQLに違いはありますか。より正確に言うと、SQL Standard では、次のようにします。

A between 1 and 10 

に等しいか:

1 <= A and A <= 10
-- or
1 < A ans 1 < 10

結果はMySQLでも同じですか。

4

2 に答える 2

3

mysql dev docから

expr BETWEEN min AND max

expr が min 以上で expr が max 以下の場合、BETWEEN は 1 を返し、それ以外の場合は 0 を返します。これは、すべての引数が同じタイプの。それ以外の場合は、セクション12.2「式の評価における型変換」で説明されている規則に従って型変換が行われますが、3 つの引数すべてに適用されます。

1 と 10 の間の A は1 <= A および A <= 10に等しくなることが明確に述べられています。

于 2015-12-12T16:37:24.250 に答える
0

MySQL では

「employee_tbl」テーブルに従業員名、daily_typing_pages 列が含まれているとします。

+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
|    1 | John | 2007-01-24 |                250 |
|    2 | Ram  | 2007-05-27 |                220 |
|    3 | Jack | 2007-05-06 |                170 |
|    3 | Jack | 2007-04-06 |                100 |
|    4 | Jill | 2007-04-06 |                220 |
|    5 | Zara | 2007-06-06 |                300 |
|    5 | Zara | 2007-02-06 |                350 |
+------+------+------------+--------------------+

このテーブルで次のクエリを実行すると:

SELECT * FROM employee_tbl 
WHERE daily_typing_pages BETWEEN 170 AND 300;

クエリにより、次の出力が得られます。

+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
|    1 | John | 2007-01-24 |                250 |
|    2 | Ram  | 2007-05-27 |                220 |
|    3 | Jack | 2007-05-06 |                170 |
|    4 | Jill | 2007-04-06 |                220 |
|    5 | Zara | 2007-06-06 |                300 |
+------+------+------------+--------------------+

つまり、その間は包括的として機能します。170 と 300 を含むデータが得られます。

MSSQL で

「Products」テーブルに、製品名、価格などの製品データを含めます。

ProductID	ProductName	                        Price
1	        Chais		                        18
2	        Chang		                        19
3	        Aniseed Syrup		                10
5	        Chef Anton's Gumbo Mix		        21.35
4	        Chef Anton's Cajun Seasoning            22

このテーブルで次のクエリを実行すると:

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;

クエリの結果、before 句で指定された価格を含む次のデータが返されます。

ProductID	ProductName	         Price
1	        Chais		         18
2	        Chang		         19
3	        Aniseed Syrup		 10

したがって、MSSQL では、MySQL のように包括的に動作します。

これを見ることができます:http://www.tutorialspoint.com/mysql/mysql-between-clause.htm

この

http://www.w3schools.com/sql/sql_between.asp

于 2015-12-12T16:39:56.337 に答える