
27.07.2009, 18:07
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
ибо здесь двоякая ситуация => разные версия мускуля по разному реагируют
Код:
NOT, !
Logical NOT. Evaluates to 1 if the operand is 0, to 0 if the operand is non-zero, and NOT NULL returns NULL.
т.е.
Код:
mysql> SELECT * FROM test;
+----+----------+
| id | num |
+----+----------+
| 1 | 148 |
| 2 | 68767867 |
+----+----------+
2 rows in set (0.00 sec)
Код:
mysql> SELECT * FROM test WHERE NOT(id)=null;
Empty set (0.00 sec)
mysql> SELECT * FROM test WHERE !(id)=null;
Empty set (0.00 sec)
Код:
mysql> SELECT * FROM test WHERE NOT(id)=false;
+----+----------+
| id | num |
+----+----------+
| 1 | 148 |
| 2 | 68767867 |
+----+----------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM test WHERE !(id)=false;
+----+----------+
| id | num |
+----+----------+
| 1 | 148 |
| 2 | 68767867 |
+----+----------+
2 rows in set (0.00 sec)
Код:
mysql> SELECT * FROM test WHERE NOT(id)=true;
+----+----------+
| id | num |
+----+----------+
| 2 | 68767867 |
+----+----------+
1 row in set (0.00 sec)
mysql> SELECT * FROM test WHERE !(id)=true
Empty set (0.00 sec)
Вывод:
WHERE NOT id=2 интерпретируется как id!=2
WHERE ! id=2 интерпретируется как !(id=2)
p.s. моя версия - 5.1.35
Последний раз редактировалось FireFenix; 27.07.2009 в 18:09..
|
|
|