|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Добрый день. select * from table1 t1 where t1.field1=:pr1 если параметр =NULL, то запрос работает с данными в таблице. Я предполагал, что не должен. Aналогично и с join, при t0.field1=NULL , происходит работа с table1 select * from table0 t0 left join table1 t1 on t1.field1=t0.field1 (LI-V6.3.5.26952, LI-V6.3.4.26856, WI-V6.3.2.26540) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 15:16 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
zigorznЯ предполагал, что не должен. Null это такое же значение, как и 1 и 2 и з и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 15:21 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
wadmanкак и 1 и 2 и 3 и т.п. Интересная опечатка... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 15:22 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
zigorzn, запрос Код: sql 1.
при null в параметре pr1 ничего не выдаст, даже если есть записи с null в t.field1. Потому что t.field = null тоже ничего не выдаст. Другое дело, что некоторые компоненты, видя null в :pr1 могут менять текст запроса на where t1.field1 is null. В остальных случаях запрос остается неизменным, т.е. с t.field1=:pr1. zigorznзапрос работает с данными в таблице в смысле? zigorznAналогично и с join, при t0.field1=NULL , происходит работа с table1 a left join b выведет все записи в a и соответствующие (не null) в таблице b. Или у вас как-то не так? http://www.ibase.ru/joins/ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 15:25 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
zigorznЯ предполагал, что не должен. RTFM: http://www.firebirdsql.org/manual/nullguide.html Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 15:29 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да непонятно, что он предполагал. Его первое утверждение неверно (про "работает"), а второе верно, но только в определенном смысле, и непонятно в каком для него. Как должно "не работать"? Что такое вообще "происходит работа"? Должно выдавать сообщение об ошибке, что-ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 15:32 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
количество записей в таблице 5694466 количество записей с field1=NULL в таблице 74590 select * from table1 t1 where t1.field1=null результат "пусто" статистика показывает 74590 индексированных чтений. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:05 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
select * from table0 t0 left join table1 t1 on t1.field1=t0.field1 если t0.field1=NULL "n" штук, то выдаёт n*74590 индексированных чтений ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:10 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
zigorzn, FIELD IS NULL!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:11 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
zigorzn, Код: sql 1.
Ты какую-то фигню в запросе сгородил в общем... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:12 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
DarkMaster, я думаю, вопрос не "почему ничего не выводится", а "с какого буя идут индексные чтения при идиотском field = null, которое никогда ничего не вернет, по определению". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:14 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdv, Тут наверное только hvlad или dimitr могут ответить вразумительно. Такое впечатление, что =NULL как-то преобразуется в IS NULL. P.S. Может на =NULL в SELECT`ах нужно вообще ругань выводить об ошибке синтаксиса? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:21 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvс какого буя идут индексные чтения при идиотском field = null, которое никогда ничего не вернет, по определению примерно с того же, что и при 1 = 0 неиндексные чтения :-) DarkMasterМожет на =NULL в SELECT`ах нужно вообще ругань выводить об ошибке синтаксиса? не надо придумывать отсебятину ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:30 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
спасибо. "с какого буя идут индексные чтения" - это то что и хотел спросить :pr1=-52221542 (нет такого значения), то выбрано "пусто" и статистика=0 :pr1=Null, то выбрано "пусто" и статистика=74590 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:40 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
dimitr, Гм... А использование FIELD=NULL в SELECT - это чего? Не отсебятина? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 16:41 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
DarkMaster, не уверен, побороли-ли в ИБ field=:param при null, что-то вроде было на тему null и индексов, надо проверять на таблице побольше, но Код: sql 1. 2.
выдает Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 2, char 13. null. emp_no is null, разумеется, без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 17:03 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 13 мая 2016 г. 17:05:34: Kdv> Token unknown - line 2, char 13. > null.они там совсем ипанулись уже? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 17:06 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Мимопроходящий, почему ипанулись-то? field = null это явно ахинея. field is null - рабочая конструкция. Зачем допускать то, что бессмыслено? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 17:17 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvпочему ипанулись-то? field = null это явно ахинея. field is null - рабочая конструкция. Зачем допускать то, что бессмыслено?Здесь нет синтаксической ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 17:25 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Hvlad! You wrote on 13 мая 2016 г. 17:26:42: Hvlad> Здесь нет синтаксической ошибки+500 зы: пид папуасы, сэр! (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 17:28 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
hvladЗдесь нет синтаксической ошибки я бы не согласился. field = null это всегда false, пожизненно. Смысла в такой конструкции не вижу. Если быть совсем точным, ИБ должен был сообщить что = null недопустимо, надо использовать is null. С такой формулировкой, думаю, было бы вполне ок. Чудаков надо отсекать на начальном этапе, чем раньше, тем лучше. Вообще, с точки зрения парсера SQL много где нет синтаксических ошибок. но есть логические. Типичный пример - ambiguous fields. Или from a, b join c. И т.д. Ошибки вроде нет, но получается фигня. Тем не менее, Firebird отшивает такие конструкции, именно сообщая об ошибке. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 18:41 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
нутром чую, кто-то уже нетрезв... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 18:44 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Рано. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 19:10 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvhvladЗдесь нет синтаксической ошибки я бы не согласился. field = null это всегда false, пожизненно.И даже field = :param ? И что, 0=1 запретишь писать ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2016, 22:49 |
|
|
start [/forum/topic.php?fid=40&msg=39235302&tid=1562176]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 438ms |
0 / 0 |