Имя: Пароль:
1C
1С v8
Удовлетворите любопытство по запросам
0 FOI1977
 
21.10.13
13:49
Есть
"СуммаЗаказаВРублях.СуммаУпр + РасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК Оплачено,

Выдаёт Null при РасчетыСКонтрагентамиОстатки.СуммаУпрОстаток = Null

Если использовать ЕстьNull то всё срабатывает разность вычисляется.

База на PostgreSQL.
Что-то раньше такого я не встречал когда базы на MS-SQL были. Или я глючу?
1 Нуф-Нуф
 
21.10.13
13:49
ты глючишь
2 Нуф-Нуф
 
21.10.13
13:49
нул всегда будет нул. таков закон вселенной
3 FOI1977
 
21.10.13
13:50
А почему 10-null = null?
4 User_Agronom
 
21.10.13
13:50
(1) Я согласен с постом.
5 Maxus43
 
21.10.13
13:50
ЕстьNull(СуммаЗаказаВРублях.СуммаУпр,0) + ЕстьNull(РасчетыСКонтрагентамиОстатки.СуммаУпрОстаток,0)
6 1dvd
 
21.10.13
13:52
(3) потому, что NULL это не ноль
7 exwill
 
21.10.13
13:52
(3) Потому что 10-НеизвестноЧто=НеизвестноЧто
А та как думал?
8 FOI1977
 
21.10.13
13:52
(5) да, так работает. НО как я понял если в выражении одно из слогаемых Null то и всё выражение даёт Null?
9 FOI1977
 
21.10.13
13:52
(7) точняк!
10 FOI1977
 
21.10.13
13:52
(7) вот что значит правильная метафора!
11 Ненавижу 1С
 
гуру
21.10.13
13:55
в логических не так ))
12 exwill
 
21.10.13
13:59
Да, кстати, правильно замечено в (11)

НеизвестноЧто=НеизвестноЧто -> Ложь
НеизвестноЧто<>НеизвестноЧто -> Ложь

Но так только в языке запросов. Во встроенном языке.
НеизвестноЧто=НеизвестноЧто -> Истина
13 1dvd
 
21.10.13
14:01
(12) ващемта
НеизвестноЧто=НеизвестноЧто -> НеизвестноЧто(может истина, может ложь - хз)
14 Ненавижу 1С
 
гуру
21.10.13
14:32
(12) я не про то, я про:

NULL или ИСТИНА -> ИСТИНА
15 Feunoir
 
21.10.13
14:38
(14) в табло:
NULL или Истина    {(1)}: Преобразование значения к типу Булево не может быть выполнено

в запросе
Текст запроса: Строка 4: {(4,8)}: Неверные параметры "OR"
(Null <<?>>или Истина)

Хотя по логике должно быть именно Истина
16 mzelensky
 
21.10.13
14:41
NULL <> NULL
17 Ненавижу 1С
 
гуру
21.10.13
15:42
(15) ну представь, что в запросе у тебя:
Поле ИЛИ Истина

где Поле в следствии левого соединения принимает значение NULL
18 exwill
 
21.10.13
15:44
(13) Логическое выражение возвращает значение логического типа. Поэтому:
НеизвестноЧто=НеизвестноЧто -> Ложь
(14) Ну это нормально. OR ведь, а не XOR.