|
Объясните строчку в запросе | ☑ | ||
---|---|---|---|---|
0
Кондер
31.08.23
✎
17:21
|
Где НЕ ЕСТЬNULL(спр.Статус, спр1.Статус) ЕСТЬ NULL
|
|||
1
Кондер
31.08.23
✎
17:22
|
|ГДЕ
| НЕ ЕСТЬNULL(спр.Статус, спр1.Статус) ЕСТЬ NULL |; |
|||
2
Garykom
31.08.23
✎
17:24
|
НЕ(спр.Статус ЕСТЬ NULL) ИЛИ НЕ(спр1.Статус ЕСТЬ NULL)
|
|||
3
Кондер
31.08.23
✎
17:26
|
Спасибо, добрый человек
|
|||
4
Мультук
31.08.23
✎
17:27
|
(0)
ВЫБРАТЬ НЕ ЕСТЬNULL("Хрень", NULL) ЕСТЬ NULL КАК а1, НЕ ЕСТЬNULL(NULL, "Хрень") ЕСТЬ NULL КАК а2, НЕ ЕСТЬNULL(NULL, NULL) ЕСТЬ NULL КАК а3 ну или так, чтобы понять что когда будет |
|||
5
Garykom
31.08.23
✎
17:29
|
(3) хотя я может ошибся и там оба Статус должны быть не NULL а не хотя бы один
|
|||
6
Кондер
31.08.23
✎
17:30
|
Короче я закипел )) Завтра, там весь запрос . на нул не нул
|
|||
7
Donkey_hot
31.08.23
✎
17:34
|
НЕ (Спр.Статус ЕСТЬ NULL И Спр1.Статус ЕСТЬ NULL)
что, впрочем, равноценно написанному в (2) |
|||
8
Гена
31.08.23
✎
17:38
|
(6) Не кипите. ЕстьNull и Есть Null разные методы.
Кто кодил - эстет ) |
|||
9
Garykom
31.08.23
✎
17:48
|
(8) дятел он а не эстет
1. Его версия тормозней чем прямая 2. Его версия при расширении/добавлении (еще спр2.Статус и т.д.) превратится в хз что |
|||
10
Eiffil123
31.08.23
✎
17:51
|
(7) так красивее всего
|
|||
11
lodger
31.08.23
✎
18:01
|
(9) 2. просто добавь воды:
Где НЕ ЕСТЬNULL(ЕСТЬNULL(спр.Статус, спр1.Статус), спр2.Статус) ЕСТЬ NULL Где НЕ ЕСТЬNULL(ЕСТЬNULL(ЕСТЬNULL(спр.Статус, спр1.Статус), спр2.Статус), спр3.Статус) ЕСТЬ NULL Где НЕ ЕСТЬNULL(ЕСТЬNULL(ЕСТЬNULL(ЕСТЬNULL(спр.Статус, спр1.Статус), спр2.Статус), спр3.Статус), спр4.Статус) ЕСТЬ NULL |
|||
12
Гена
31.08.23
✎
18:02
|
(7) ИЛИ в запросе плоховато. Так что надо сделать замер по Вашему коду и исходному )
|
|||
13
Гена
31.08.23
✎
18:25
|
Но там, где есть отрицание, всегда можно избавиться от ИЛИ через тождества де Моргана в логике:
https://ru.m.wikipedia.org/wiki/Законы_де_Моргана#/media/Файл%3ADemorganlaws.svg НЕ(спр.Статус ЕСТЬ NULL) ИЛИ НЕ(спр1.Статус ЕСТЬ NULL) тождественно НЕ (Спр.Статус ЕСТЬ NULL И Спр1.Статус ЕСТЬ NULL) |
|||
14
Garykom
31.08.23
✎
18:40
|
(12)
И заставляет вычислить оба ИЛИ иногда достаточно первой |
|||
15
Гена
31.08.23
✎
18:56
|
(14) дык... в том-то и красота исходного кода, что он тоже срабатывает на первой проверке как ИЛИ
Если первый элемент непустой, то код сразу шуршит дальше вниз. А значит он хайли лайкли шустрее обоих предложенных взамен ) |
|||
16
Garykom
31.08.23
✎
18:58
|
(15) Он всегда дважды делает сначала аналог ИЛИ ЕСТЬNULL и затем еще раз ЕСТЬ NULL, а уже затем НЕ
Так что херня относительно НЕ(спр.Статус ЕСТЬ NULL) ИЛИ НЕ(спр1.Статус ЕСТЬ NULL) |
|||
17
Гена
31.08.23
✎
19:01
|
(16) Практика - критерий истины. Нужен опытный замерщик для разрешения спора.
|
|||
18
PR
31.08.23
✎
19:02
|
(0) НЕ (спр.Статус ЕСТЬ NULL И спр1.Статус ЕСТЬ NULL)
или НЕ спр.Статус ЕСТЬ NULL ИЛИ НЕ спр1.Статус ЕСТЬ NULL |
|||
19
Garykom
31.08.23
✎
19:03
|
(18) Родственников из Эстонии нет?
|
|||
20
Garykom
31.08.23
✎
19:04
|
(17) сложные функции всегда хуже простых
|
|||
21
Donkey_hot
31.08.23
✎
19:05
|
(14) Разве И в запросах не "ленивое"?
|
|||
22
Garykom
31.08.23
✎
19:07
|
(21) точно, ленивое не Ложь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |