|
group by
|
|||
---|---|---|---|
#18+
Arioch((что угодно) = NULL ) = FALSE у меня получается ((что угодно) = NULL ) = NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 13:55 |
|
group by
|
|||
---|---|---|---|
#18+
Dorin Marcociв эту ветку не входит, когда s.bundle_id not null Код: sql 1. 2.
КМК, это если развернуть в полную форму будет Код: sql 1. 2.
not TRUE = FALSE 2 + 1 = 3 not NULL = NULL NULL + 1 = NULL ((что угодно) = NULL ) = FALSE подозреваю, но проверять лень, что ( NULL = NULL ) = NULL ~~~~>>> FALSE если принудительно поднимать тип к boolean not null , что скорее всего и проиcходит внутри IF/WHILE/CASE в то же время (NULL is not distinct from NULL ) = TRUE Но внутри CASE видимо обычный старый добрый = для сравнения ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 13:55 |
|
group by
|
|||
---|---|---|---|
#18+
да.. может он явно через оператор "=" проверяет, поэтому и спросил when (is not null) не принимает. нужно sql стандарт посмотреть как там :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 13:56 |
|
group by
|
|||
---|---|---|---|
#18+
YuRockArioch((что угодно) = NULL ) = FALSE у меня получается ((что угодно) = NULL ) = NULL Это я второпях писал, я имел ввиду при принудительном преобразовании типаа Ниже я это описал.... в одном случае из двух, в первый добавить примечание забыл. >_< ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 13:57 |
|
group by
|
|||
---|---|---|---|
#18+
hvladА второй у нас не поддерживается синтаксисом, можно попросить поддержать. Мне кажется достаточно в том виде, в котором поддерживается: case when <expr> is [not] null then ... end ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 13:58 |
|
group by
|
|||
---|---|---|---|
#18+
Dorin Marcociда.. может он явно через оператор "=" проверяет, поэтому и спросил when (is not null) не принимает. нужно sql стандарт посмотреть как там :) Так он никогда и не будет принимать. Скобки заставляют вычислять выражение. Это аналогично переменным в процедуре. Код: sql 1.
Это что? Это бессмыслица. Если синтаксис когда-нибудь будет это принимать - то только БЕЗ скобок. PS. ну а пока видимо придётся выпендриваться через "волшебные числа" Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 14:00 |
|
group by
|
|||
---|---|---|---|
#18+
да.. здесь мой промах, сорри ) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 14:02 |
|
group by
|
|||
---|---|---|---|
#18+
YuRockhvladА второй у нас не поддерживается синтаксисом, можно попросить поддержать. Мне кажется достаточно в том виде, в котором поддерживается: case when <expr> is [not] null then ... endА если 3-х этажный <expr> нужно протестировать на null и ещё на десяток значений ? Везде повторять написание <expr> ? Да, derived tables или CTE помогут это обойти, но если там и так каскад вложенных селектов ? :) Фича не убийственно нужная, согласен. Но с ней лучше, чем без неё. Хотя можно и обойтись ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 14:13 |
|
group by
|
|||
---|---|---|---|
#18+
Dorin Marcociнужно sql стандарт посмотреть как там :)Я уже вкратце написал, как там. Или дать полную цитату ? Там многа букав (ц) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 14:14 |
|
group by
|
|||
---|---|---|---|
#18+
даешь тупли и pattern matching в SQL CASE DDDD ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 14:14 |
|
group by
|
|||
---|---|---|---|
#18+
hvladА если 3-х этажный <expr> нужно протестировать на null и ещё на десяток значений ? Нет, разбить на два: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 14:20 |
|
|
start [/forum/topic.php?fid=40&msg=39626101&tid=1561175]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 438ms |
0 / 0 |