|
|
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Необходимо сделать проверку по принципу "или они равны или оба Null". Вот тестовые данные: Код: plaintext 1. 2. 3. Проверка выглядит так: Код: plaintext 1. 2. 3. Выдаёт ошибку: Код: plaintext 1. 2. 3. 4. Как надо построить запрос, чтобы реализовать эту проверку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 18:37:32 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 19:08:04 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Привет, Лентяй! Ты пишешь: Лентяй Л> where coalesce(t.a,0) = coalesce(:a,0) Не, ему не это. Ему надо: (параметр NULL и поле NULL) OR (параметр = поле) Это если я правильно понимаю невнятное бормотание... -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 19:19:32 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Сообразим на троих? Имхо оно хочет чтоп параметр в сравнении с нуллом явно к какому-то типу прикастили. Нуллы, они, видать, тож разные бывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 19:34:24 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Вот это не работает: Лентяйwhere coalesce(t.a,0) = coalesce(:a,0) наверное потому что у меня InterBase 6.1 Я решил проблему при помощи дополнительной хранимой процедуры: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. А сама проверка стала выглядить так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 08:55:17 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
transdimВот это не работает: Лентяйwhere coalesce(t.a,0) = coalesce(:a,0) наверное потому что у меня InterBase 6.1 Прими мои соболезнования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 09:40:45 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
transdim Твой запрос нормальный в целом. А вот проблема твоя из-за параметра. А точнее - двух параметров, :a и :a. Ведь их именно два (!) с "т.з. приложения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 10:50:09 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Johnmen А вот проблема твоя из-за параметра. А точнее - двух параметров, :a и :a. Ведь их именно два (!) с "т.з. приложения" Да, я понимаю что сервер не может понять тип параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 12:11:45 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
Нет. Два одноименных параметра - это два разных параметра. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 12:14:01 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
DayroonНет. Два одноименных параметра - это два разных параметра. Если параметры назвать по разному, то ошибка отсаётся такой-же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 14:01:23 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
А может на клиенте это все дело анализировать:) И в зависимости от этого писать тот или иной селект. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 15:14:49 |
|
||
|
Data type unknown
|
|||
|---|---|---|---|
|
#18+
select * from test t where t.a = cast(:a as TYPE) or (t.a is null and cast(:a as OTHER_TYPE) is null) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2013, 17:03:45 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=33180899&tid=1564381]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
198ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 526ms |

| 0 / 0 |
