172 похожих чатов

Господа, подскажите есть ли простой способ проверить что переменная типа

record содержит null в любом из полей?

17 ответов

23 просмотра

# SELECT a,pg_typeof(a) FROM (SELECT ('LED','DME','LED,,DME','',null)) t(a); ┌──────────────────────────┬───────────┐ │ a │ pg_typeof │ ├──────────────────────────┼───────────┤ │ (LED,DME,"LED,,DME","",) │ record │ └──────────────────────────┴───────────┘ (1 row) красивого решения нет

steelunicorn- Автор вопроса

Эх... я надеялся на что-то типа any(record) is null :(

steelunicorn
Эх... я надеялся на что-то типа any(record) is nul...

ну и как он развернет нетипизированное значение. Во что?

можно написать свою функцию

V
просили простой )

что может быть проще функции? 😎

(a=a) IS NULL ?

Ilya Anfimov
(a=a) IS NULL ?

Ну, значит, тут баги и это надо фиксить.

Ilya Anfimov
Ну, значит, тут баги и это надо фиксить.

https://www.postgresql.org/docs/current/functions-comparisons.html#ROW-WISE-COMPARISON Как говорится, "см. рис. 1".

А если она NULL, какой должен быть результат? В любом случае, лучше написать функцию для этого, мне кажется ( иначе использованные "простые" выражения введут в ступор тех, кто это потом будет читать).

steelunicorn- Автор вопроса

Если хоть одна из "колонок" записи имеет значение null то true

steelunicorn
Если хоть одна из "колонок" записи имеет значение ...

Если вся запись имеет значение NULL, вот так: DECLARE x record = NULL; Какой должен быть результат?

Yaroslav Schekin
https://www.postgresql.org/docs/current/functions-...

По ссылке говорится именно о таком поведении. И это, кстати, работает. Только топикстартер спрашывал про "переменные", и в общем во всех случаях кроме row-constructor -- всё гораздо веселее и неконсистентнее.

steelunicorn- Автор вопроса
Yaroslav Schekin
Если вся запись имеет значение NULL, вот так: DECL...

Тоже true, но кстати это проверяется if x is null

Странно, у меня не работает (и это соответствует документации): https://dbfiddle.uk/ItVvVEU7

Yaroslav Schekin
Странно, у меня не работает (и это соответствует д...

Для row constructor -- работает: https://dbfiddle.uk/zM-GUQYG И да, я дочитал ту страницу документацыи, и понял, что там говорится наконец, спасибо.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта