нууу, они разные в чем разница между теплым и кислым ?
Понимать буквально. 0 это ноль, пустая строка это пустая строка, null это нулл. Как только понадобится это всё различать - сразу поймёте.
0 - это цифра, такая же как 1 или 5. А NULL - это отсутствие данных, вообще отсутствие: ни цифр ни строки - НИ-ЧЕ-ГО. А пустая строка это "" - обычная строка, такая же как "Привет Мир!", в которой просто нет ни одного символа.
Ну у ничего тоже есть свой тип - void)
Ну select null тип будет unknown, а не void. Но это все мелочи, конечно. Просто unknown скастить до int4, например, можно а НИ ЧЕ ГО, то биж войд - нельзя
SELECT NULL; будет TEXT
нет, будет unknown без кастинга select pg_typeof(null) -> unknown select pg_typeof(null::int) -> integer и т.д. и это в любом случае будет null
Эм. Вообще то нет. pg_typeof вбейте
Разница в результатах операций над ними (зависит от настроек сервера). 0 + 1 = 1 '' || '1' = '1' NULL + 1 = NULL '' || NULL = NULL
откуда вообще в этой дискусиии про nulll вылез viiod?)))))
Несколько раз натыкался, что NULL не приведённый к типу трактуется как TEXT (может тожк настройка в конгфиге).
Обсуждают сегодня