|
|
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Не могу разобраться с "IS NOT TRUE" - а точнее как оно отрабатывает. В связи с этим не получается сделать правильный запрос к БД. В данном примере всё отработало логично: Код: sql 1. 2. А это мой запрос: Код: sql 1. 2. Тип поля f.not_use - tinyint, возможные значения - 1,0,NULL. Здесь отсутствуют пустые значения (с NULL), не то что мне нужно. Почему так? P.S. Хотелось бы как нибудь обойтись без 'f.not_use = 0 OR f.not_use IS NULL' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 12:17 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
bober132отсутствуют пустые значения (с NULL) А так? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 12:43 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Akina, оба запроса отработали одинаково - 2360 строк(без группировки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 13:03 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Akina, Доп. инфа: Сервер: Localhost via UNIX socket(Debian 7.0) Тип сервера: MariaDB Версия сервера: 5.5.44-MariaDB-1~wheezy - mariadb.org binary distribution Версия протокола: 10 Тип таблиц: InnoDB P.S. с группировкой отработало так-же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 13:10 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Тест-набор (CREATE TABLE + INSERT INTO) - обязательно проверенный!- и желаемый на этих данных результат в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 13:31 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Akina, Код: sql 1. 2. 3. 4. 5. 6. результат - 1 строка: not_use artic_new site id artic_new site 0 222 000.ru 2 222 000.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 14:30 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Akina, Желаемый результат: not_use artic_new site id artic_new site 0 222 000.ru 2 222 000.ru NULL NULL NULL 3 333 000.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 14:33 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Что с NULL не делай (кроме IS [NOT] NULL, понятно) - получишь NULL. Который любое условие и любое выражение (не только логическое) превратит в NULL, интерпретируемый как FALSE. Так что самое имхо разумное - это нечто вроде Код: sql 1. 2. 3. 4. 5. 6. Или, например, использовать альтернативно-эквивалентный вариант с использованием подзапроса и NOT IN или NOT EXISTS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 15:44 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
Спасибо помогло. Не думал что так геморно работать с NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2016, 07:01 |
|
||
|
IS NOT TRUE - как работает?
|
|||
|---|---|---|---|
|
#18+
bober132Akina, Желаемый результат: not_use artic_new site id artic_new site 0 222 000.ru 2 222 000.ru NULL NULL NULL 3 333 000.ru Код: sql 1. NULL-safe equal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2016, 07:17 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=110&tid=1832142]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 400ms |

| 0 / 0 |
