![]() |
![]() |
![]() |
|
Разница между естьnull и выбор | ☑ | ||
---|---|---|---|---|
0
dmserg
27.05.09
✎
11:37
|
Здравствуйте, подскажите пожалуйста - почему не работает вот такой запрос -
выбрать ВЫБОР КОГДА рег2.значение1=NULL ТОГДА рег1.значение1 ИНАЧЕ рег2.значение2 КОНЕЦ КАК результат из регистрсведений1 как рег1 левое соединение регистрсведений2 как рег2 по рег2.значение1 = рег1.значение1 Выражение рег2.значение1=NULL почемуто всегда ложное, хотя null есть. А естьNull в данной ситуации отрабатывает как надо. Почему так? И как проверять на null через выбор? |
|||
1
Andry888
27.05.09
✎
11:40
|
Важно! Любая операция сравнения двух значений, в которой участвует хотя бы одно значение NULL, дает результат, аналогичный значению ЛОЖЬ.
|
|||
2
H A D G E H O G s
27.05.09
✎
11:40
|
КОГДА рег2.значение1=NULL
всегда даст ЛОЖЬ |
|||
3
Кадош
27.05.09
✎
11:40
|
Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL.
|
|||
4
zyto
27.05.09
✎
11:40
|
Используй Выбор Когда рег2.значение1 есть Null
|
|||
5
Вигор
27.05.09
✎
11:40
|
Сравнение с NULL всегда возвращает ЛОЖЬ. Надо использовать ЕСТЬ NULL
ВЫБОР КОГДА рег2.значение1 ЕСТЬ NULL ТОГДА |
|||
6
Кадош
27.05.09
✎
11:40
|
ы
|
|||
7
Mitriy
27.05.09
✎
11:40
|
ВЫБОР КОГДА рег2.значение1 Есть Null ТОГДА
|
|||
8
Нуф-Нуф
27.05.09
✎
11:41
|
если будешь сравнивать с NULL всегда получишь ложь
|
|||
9
Mitriy
27.05.09
✎
11:41
|
ыыы...
|
|||
10
IamAlexy
27.05.09
✎
11:41
|
доступно и всерьез.
|
|||
11
H A D G E H O G s
27.05.09
✎
11:41
|
И это всё? Ну, может кто еще выскажется?
|
|||
12
Нуф-Нуф
27.05.09
✎
11:42
|
ваще то NULL не мой, я просто дал объяву
|
|||
13
dmserg
27.05.09
✎
11:43
|
Всем спасибо.
|
|||
14
mikecool
27.05.09
✎
11:44
|
и выбор нафик не нужен
естьnull(рег2.значение1, рег2.значение2) |
|||
15
Нуф-Нуф
27.05.09
✎
11:44
|
||||
16
IamAlexy
27.05.09
✎
11:45
|
(15)+1
|
|||
17
zyto
27.05.09
✎
11:54
|
(14)+1
Не вглядывался в условия из (0) |
|||
18
dmserg
27.05.09
✎
11:59
|
(14)(17) выбор нужен потому что помимо самого значения нужно подставить реквизит этого значения. -
Выбор когда рег2.значение1 естьнулл тогда рег1.значение1.реквизит иначе рег2.значение1.реквизит Или тут тоже можно без выбора обойтись? |
|||
19
Mitriy
27.05.09
✎
12:02
|
(18) тут можно... в (14) тебе все написали...
|
|||
20
Вигор
27.05.09
✎
12:10
|
(14) совсем не тот результат получается...
|
|||
21
zyto
27.05.09
✎
12:11
|
(19)Не, нельзя...
ЕстьNull выдаёт либо проверяемое значение, либо второе указанное. А у него проверяемое это не то что будет на выходе... |
|||
22
hhhh
27.05.09
✎
12:21
|
(21) а подумать если
естьnull(рег1.значение1.реквизит, рег2.значение1.реквизит) Но вообще-то пример из (18) не будет работать, что-то он там накосячил. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |