Имя: Пароль:
LIFE
Наука
OFF: Каков смысл значений Неопределено и NULL в общем понимании этих значений?
,
0 RetardedToBoot
 
27.05.22
22:44
Вот есть значение NULL - это что-то вроде отсутствия значения в базах данных. И есть значение Неопределено, смысл которого это значение для не переменных без инициализированного значения.

Есть ли какие смыслы у этих значений, кроме как смыслов в программировании?
1 RetardedToBoot
 
27.05.22
22:46
И почему, в 1С для запросов сделали нулл, хотя могли сделать неопределено. И наоборот, почему для переменных сделали Неопределено, хотя могли бы и Нулл?
2 youalex
 
27.05.22
22:47
Null
Описание:
Значения данного типа используются исключительно для определения отсутствующего значения при работе с базой данных

Неопределено (Undefined)
Описание:
Значение данного типа применяются, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу.
3 RetardedToBoot
 
27.05.22
22:58
(2) Это из СП в 1С? Я ни разу даже не смотрел. Но почему нулл исключительно для БД? Скажем при взятии отсутствующего ключа из соответствия то же могли бы сделать нулл.
4 PR
 
27.05.22
23:01
(0) В запросе NULL — это когда записи нет вообще и, соответственно, поля записи также нет, а НЕОПРЕДЕЛЕНО — когда запись есть, но поле составного типа и тип не выбран, поэтому не число, строка, дата, булево или какая-нить пустая ссылка, а НЕОПРЕДЕЛЕНО
5 PR
 
27.05.22
23:04
(3) А зачем NULL где-то еще, кроме базы данных?
6 RetardedToBoot
 
27.05.22
23:07
(4) спасибо, не подумал, буду знать.

(5) я примерно это и пытаюсь выяснить. Есть ли еще смыслы кроме этих смыслов у этих сущностей?
7 Asmody
 
27.05.22
23:12
Заходит одинесник в бар. Заказывает кружку пива. Бармен берёт кружку. До того, как он нальет туда пиво, у одинесника в кружке Неопределено пива.
А вот если ни кружки, ни бармена, ни бара нет, то у одинесника NULL пива.
8 PR
 
27.05.22
23:14
(6) Нет, нету
Ты, конечно же, можешь присвоить переменной значение NULL, но непонятно, нахрена, разве что только для какой-то работы с запросом или результатом запроса
9 PR
 
27.05.22
23:17
(7) А в какой момент в ней 0 пива?
10 Asmody
 
27.05.22
23:18
(9) а что такое "0 пива"?
11 PR
 
27.05.22
23:23
(10) Это когда у кружки тип Пиво :))
12 Волшебник
 
модератор
27.05.22
23:33
(11) Зачёт!
13 Asmody
 
27.05.22
23:39
(11) дело не в количестве, а в качестве пива. Хотя в количестве тоже
14 PR
 
27.05.22
23:41
(13) Я к тому, что в кружке может быть НЕОПРЕДЕЛЕНО, 0 пива, 0 воды, 0 сока или 0 еще кучи всякого всего
15 Смотрящий
 
27.05.22
23:44
(13) №DEFINE Пиво NOT Пиво // Жксткого похмелься, суки
16 Волшебник
 
модератор
27.05.22
23:46
Тестировщик в баре⁠⁠
https://pikabu.ru/story/testirovshchik_v_bare_3046939
17 VS-1976
 
28.05.22
01:28
(5) можно в 1с результат из базы проверить на null
18 Выпрь
 
28.05.22
09:51
Null это неопределено из мира скл
19 Выпрь
 
28.05.22
09:52
Само же слово неопределено в запросе просто означает пустое значение в поле тип
20 Hans
 
28.05.22
12:18
NULL образуется исключительно в результате соединений..?
21 Asmody
 
28.05.22
12:26
(20) да. явных и неявных. Как значение оно тоже существует, и ты можешь сделать переменную со значением NULL, но зачем?
22 ДедМорроз
 
28.05.22
16:02
В базе данных,null это не совсем отсутствие значения,это невозможность вычислить значение,так как нет данных м нет поля.
Неопределено же это значение,но оно пустое из-за того,что не выбрано или не установлено,но поле есть.
Опять же,есть языки,типа javascript,где решили,что неопределено и Null это одно и то же.
Но там,от null можно получить любое поле и оно тоже будет null.
Есть языки,где эти значения различаются.
А есть языки,типа Си,где как таковых ни одного ни другого нету,так как Null в Си - это 0,а неопределено там быть не может,так как все типы переменных заданы.
Есть языки типа VbScript,где есть Empty,то есть неопеделено, Null, как тип Null, а также тип Error,который означает отсутствие значения и тип Nothing,который говорит,что ссылка на объект пустая.
23 RetardedToBoot
 
28.05.22
20:31
(22) Спасибо. Очень развернуто.
24 Выпрь
 
28.05.22
21:04
(23) а js null !=== undefined
25 SiAl-chel
 
28.05.22
21:19
(7) Неверно. В этом случае у 1С-ника - ноль пива. Вот когда 1С-ник заходит в бар, вот тогда у него алкогольных напитков - неопределено.
26 Ненавижу 1С
 
гуру
29.05.22
10:46
(4) а ведь бывает так, что и запись есть, но все равно NULL
27 Ненавижу 1С
 
гуру
29.05.22
10:49
(20) нет, если у вас в справочнике группа, а реквизит только для элементов- будет NULL
28 PR
 
29.05.22
16:53
(27) Ну, кстати, да
29 RomanYS
 
29.05.22
18:14
(27) с другой стороны такое поведение просто имитация того, что данные таких реквизитов хранятся в отдельных таблицах
30 Ryzeman
 
30.05.22
07:32
(0) >Есть ли какие смыслы у этих значений, кроме как смыслов в программировании?

Обе сущности узкоспециализированные и созданы для программирования. Что бы их лучше понимать можно использовать аналогии из других сфер жизни человека, как это делают люди в этой ветке, но любая аналогия ложна :)