Имя: Пароль:
1C
 
Непонятка с 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"