|
Непонятка с Null | ☑ | ||
---|---|---|---|---|
0
newjon
11.06.15
✎
14:33
|
Разве это не одно и тоже ?
НЕ ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, "") = "Н" НЕ ЗначенияСвойствОбъектов.Значение = "Н" |
|||
1
Drac0
11.06.15
✎
14:34
|
(0) нет
|
|||
2
Dmitriy_76
11.06.15
✎
14:34
|
(1) че нет то?
|
|||
3
newjon
11.06.15
✎
14:35
|
(1) если можно пример
|
|||
4
Господин ПЖ
11.06.15
✎
14:36
|
(0) ловите наркомана
|
|||
5
newjon
11.06.15
✎
14:36
|
на самом деле у меня при Null не корректно отрабатывает
может глюк платформы, там 8.2 еще стоит |
|||
6
pitbul
11.06.15
✎
14:37
|
(0) НЕ ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, "") = "Н"
Зачем так писать? |
|||
7
Господин ПЖ
11.06.15
✎
14:37
|
естьnull пользуется только для "обработки" результатов запросов к бд
в иных местах null не возникает |
|||
8
Drac0
11.06.15
✎
14:37
|
(2) (3) любое логическое выражение (за исключение специальных) с участием NULL всегда возвращает ЛОЖЬ.
|
|||
9
Господин ПЖ
11.06.15
✎
14:37
|
>Зачем так писать?
зачем так жить |
|||
10
VikingKosmo
11.06.15
✎
14:38
|
(9) жизнь - боль
|
|||
11
Dmitriy_76
11.06.15
✎
14:38
|
(8) И ?
|
|||
12
Dmitriy_76
11.06.15
✎
14:39
|
(8) НЕ Л это вроде как истина.....
и в первом случае будет истина .... |
|||
13
zak555
11.06.15
✎
14:39
|
пусть
ЗначенияСвойствОбъектов.Значение = "а" тогда 1. истина 2. истина пусть ЗначенияСвойствОбъектов.Значение = "" тогда 1. истина 2. истина пусть ЗначенияСвойствОбъектов.Значение = "Н" тогда 1. ложь 2. ложь пусть ЗначенияСвойствОбъектов.Значение = NULL тогда 1. истина 2. истина |
|||
14
Dmitriy_76
11.06.15
✎
14:40
|
(13) да Я ЗА
|
|||
15
vde69
11.06.15
✎
14:40
|
ЛЮБОЕ логическое условие где есть открытое значение NULL возвращает NULL
|
|||
16
Drac0
11.06.15
✎
14:41
|
(11) НЕ NULL = 1 - тоже вернет ЛОЖЬ, как и NULL =1 и даже NULL = NULL и даже НЕ(НЕ(НЕ(NULL = NULL)))
|
|||
17
Dmitriy_76
11.06.15
✎
14:41
|
(13) ДЛЯ Drac0 еще значение "О" распиши
|
|||
18
Dmitriy_76
11.06.15
✎
14:41
|
(11) и че это дает в данном примере ?
|
|||
19
vde69
11.06.15
✎
14:42
|
(16) возвращает не ложь а NULL
|
|||
20
Drac0
11.06.15
✎
14:43
|
(19) В контексте условий это будет ЛОЖЬ. В ВЫБОР и в ГДЕ и в условии соединения. К чему это формализм? :)
|
|||
21
vde69
11.06.15
✎
14:44
|
https://ru.wikipedia.org/wiki/NULL_(SQL)
При сравнении NULL с любым значением будет получен результат NULL, а не FALSE и не 0. Более того, NULL не равно NULL! |
|||
22
Drac0
11.06.15
✎
14:44
|
(13) Это что?
(17) Ты в консоль запросов вбей и посмотри, раз такой уперто упоротый. |
|||
23
Drac0
11.06.15
✎
14:45
|
(21) Мы сейчас про 1С. В запросах 1С это будет интерпретировано как ЛОЖЬ. Хотя, можно сойтись на том, что это будет НЕ ИСТИНА :)
|
|||
24
Drac0
11.06.15
✎
14:46
|
(21) А вот когда в полях выборки можно будет писать а.Поле = б.Поле КАК Поле1, тогда я буду всеми руками за формализм.
|
|||
25
Dmitriy_76
11.06.15
✎
14:48
|
(23) каюсь. был не прав
|
|||
26
Drac0
11.06.15
✎
14:50
|
+(24) Хотя, с учетом 8.3.6, уже стоит быть дотошным. Поправка vde69 важная :)
|
|||
27
Dmitriy_76
11.06.15
✎
14:50
|
выбор когда (НЕ ЕСТЬNULL(NULL, "") = "Н") Тогда 1 иначе 2 конец как ййй1 ,
выбор когда (НЕ NULL = "Н") Тогда 1 иначе 2 конец как ййй2 на выходе.. 1 2 |
|||
28
vde69
11.06.15
✎
14:53
|
(23) 1с это система управления реляционными базами данных (например в файловой версии)
а теперь идем и читаем https://ru.wikipedia.org/wiki/12_правил_Кодда |
|||
29
rozer76
11.06.15
✎
14:59
|
(26) по сравнению с чем ?
|
|||
30
Drac0
11.06.15
✎
15:00
|
(28) Ты зануда :)
|
|||
31
rozer76
11.06.15
✎
15:10
|
(19) вроде неопределено ? не?
|
|||
32
Drac0
11.06.15
✎
15:20
|
(31) Сейчас сюда придет Ненавижу 1С и такое начнется :)
|
|||
33
hhhh
11.06.15
✎
15:25
|
(31) не
|
|||
34
rozer76
11.06.15
✎
15:45
|
(33) оно НЕОПРЕДЕЛЕНО если это не в логической операции - не заметил (20)
|
|||
35
Drac0
11.06.15
✎
16:01
|
(34) НЕОПРЕДЕЛЕНО - это чисто 1С-ный тип данных. В запросах будет именно NULL.
|
|||
36
rozer76
11.06.15
✎
16:06
|
(35) я в консоли запросов сделал
Выбрать NULL=NULL и жмакнул на результат - НЕОПРЕДЕЛЕНО |
|||
37
Timon1405
11.06.15
✎
16:24
|
в тему призывается @Ненавижу 1С
|
|||
38
Мыш
11.06.15
✎
16:37
|
(37) Рисуй пентаграмму, бей в бубен )
|
|||
39
Vovan1975
11.06.15
✎
16:44
|
(15) фигушки
|
|||
40
Vovan1975
11.06.15
✎
16:49
|
"Некоторых удивляет то, что выражение, сравнивающее два значения NULL (NULL = NULL),
возвращает значение UNKNOWN. Дело в том, что NULL обозначает пропущенное или неиз- вестное значение, и вы на самом деле не можете сказать, равно ли одно неизвестное значе- ние другому. Поэтому язык SQL предлагает вам предикаты is NULL и IS NOT NULL, кото- рые следует применять вместо сравнений = NULL и О NULL." И. Бен-Ган "Microsoft SQL Server 2008 Основы T-SQL" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |