|
|
|
Чем отличается значение типа Неопределено и значение типа Null? | ☑ | ||
|---|---|---|---|---|
|
0
Pitbull-1С
19.01.09
✎
00:49
|
Внизу использовано неодназначное определение.У меня с ним возникает путаница. Кто нибудь для себя определил эти понятия? Делимся...
"Значение типа Неопределено используется прежде всего как значение по умолчанию (незаданное значение) для полей с составным типом. Например, если есть реквизит, который имеет составной тип, включающий СправочникСсылка.Товары и СправочникСсылка.Материалы, то значением реквизита по умолчанию будет Неопределено. Так же это значение используется и в других случаях для обозначения неуказанного значения. Значение типа Null используется при работе с таблицами прикладных объектов. Оно обозначает отсутствие значения поля в выборке. Прежде всего оно используется в результатах запросов выполняющих левое или правое соединение. Поля невыбранных записей таблиц участвующих в таких соединениях будут иметь значение Null. Кроме того, значение типа Null будет иметь, например, реквизит иерархического справочника для элементов-групп, если в метаданных указано, что этот реквизит используется только для элементов не являющихся группами." |
|||
|
1
ТелепатБот
гуру
19.01.09
✎
00:49
|
||||
|
2
Adept
19.01.09
✎
00:55
|
(0) че непонятного? null вполне определенное пустое значение, которое возникает в результате соединений таблиц в запросах. Неопределенно это то требует определение, поле типа составного, переменная не инициализированная и тд.
|
|||
|
3
sam_sam
19.01.09
✎
00:56
|
ты ж сам на свой вопрос ответил. Неопределено это значение. А NULL это результат, вернее его отсутствие. Что тоже вобщем то результат.
|
|||
|
4
Naumov
19.01.09
✎
00:57
|
(0) Вот не правда. Null это не "вполне определенное пустое значение". Это означает, что значения не существует.
|
|||
|
5
Naumov
19.01.09
✎
00:58
|
(4) к (1)
|
|||
|
6
Adept
19.01.09
✎
01:08
|
(5) - (4) к (2) :)
ну я что то типа того и хотел сказать, нет пересечения множества, из одной таблицы, с множеством из другой, такое множество можно еще назвать пустым и оно вполне определено |
|||
|
7
Pitbull-1С
19.01.09
✎
01:12
|
Вывод
Null = не существует в базе данных Неопределенно = не выбранно или не определенно |
|||
|
8
Pitbull-1С
19.01.09
✎
01:15
|
А пустая ссылка какой имеет тип?
|
|||
|
9
JustBeFree
19.01.09
✎
01:20
|
(8) NULL
|
|||
|
10
Dmitrii
гуру
19.01.09
✎
01:21
|
(8) :)) Тип того объекта, на который ссылается. Если поле имеет составной тип, то Неопределено.
Пустая ссылка на справочник Номенклатура имеет Тип("СправочниСсылка.Номенклатура"). (7) Можно еще добавить, что данные в базе не могут иметь тип Null (исключение "реквизит иерархического справочника для элементов-групп, если в метаданных указано, что этот реквизит используется только для элементов не являющихся группами"). А вот тип Неопределено - могут - это реквизиты составного типа, пока они пустые (не определены). (9) ошибаешься. |
|||
|
11
JustBeFree
19.01.09
✎
01:22
|
(9)Да, я уже понял что поторопился с ответом.
|
|||
|
12
Pitbull-1С
19.01.09
✎
01:33
|
(10)Вывод
Null = не существует в базе данных Неопределенно = существуют в базе данных,но не определенно |
|||
|
13
Dmitrii
гуру
19.01.09
✎
01:34
|
(12) да
|
|||
|
14
Pitbull-1С
19.01.09
✎
01:48
|
Вот теперь законченное определение для потомков 8)
NULL это тип данных, принадлежащее отсутствующему значению в базе данных. НЕОПРЕДЕЛЕННО это тип данных, принадлежащее значению в базе данных, тип которого еще не определен. |
|||
|
15
Dmitrii
гуру
19.01.09
✎
01:51
|
(14) Null - это тип ЗНАЧЕНИЯ, а не тип ДАННЫХ. Данных типа Null нет в природе.
|
|||
|
16
Pitbull-1С
19.01.09
✎
01:54
|
NULL это тип, принадлежащее отсутствующему значению в базе данных.
НЕОПРЕДЕЛЕННО это тип, принадлежащее значению в базе данных, тип которого еще не определен. |
|||
|
17
Dmitrii
гуру
19.01.09
✎
02:00
|
Данные - это то что в базе лежит.
Значения - это то, что мы получили из базы, а также то что мы создали пока рботали (переменные всякие). При этом в результате запросов поля типа Null - это то что прикрутила нам платформа 1С в таблицу, а не то что было в базе. (16) Смотря что ты имеешь под фразой "отсутствующему значению в базе данных". Пустое (не заполненное) значение реквизита имеет тип не Null. Для числового реквизита - это 0; Для булевого - Ложь; Для Строкового - "" (пустая строка); Для даты - Дата("00010101000000") (пустая дата); Для ссылочного - пустая ссылка типа ссылка на соответствующий объект; Для составного - Неопределено; |
|||
|
18
Pitbull-1С
19.01.09
✎
02:05
|
NULL это тип, принадлежащее несуществующему значению в базе данных.
НЕОПРЕДЕЛЕННО это тип, принадлежащее значению в базе данных, тип которого еще не определен. |
|||
|
19
Dmitrii
гуру
19.01.09
✎
02:07
|
(18) Спать пора однако.
Ну и хватка у питбулей. Загрызет кого угодно... |
|||
|
20
Pitbull-1С
19.01.09
✎
02:13
|
(19) спасибо за помощь
|
|||
|
21
Dmitrii
гуру
19.01.09
✎
02:14
|
Читать перед сном:
http://ru.wikipedia.org/wiki/NULL_(SQL) При этом учитывать, что 1С НЕ относиться к числу баз данных, которые поддерживают понятие NULL, для поля таблицы. Поля типа NULL 1C djpdhfoftn только в результате выполнения запросов с левым или правым соединениями. |
|||
|
22
Dmitrii
гуру
19.01.09
✎
02:14
|
djpdhfoftn = возвращает
|
|||
|
23
Pitbull-1С
19.01.09
✎
02:20
|
Так как у NULL один литерал, то можно для простоты
NULL это несуществующее в базе данных значение. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |