|
как обрабатывается 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 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
hvladИ даже field = :param ? шутки шуткуешь? hvladИ что, 0=1 запретишь писать ? :) null не является нормальным значением. не бывает ничего, равного null (=null). Есть только is null. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2016, 00:07 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 16 мая 2016 г. 10:39:17: Kdv> null не является нормальным значением. не бывает ничего, равного null (=null). Есть только is null. не нужно запрещать то, что не ограничено стандартом. зы: и Oracle, и MS SQL солидарны с этим. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 10:40 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Мимопроходящий, никто и не собирался это запрещать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 10:43 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Hvlad! You wrote on 16 мая 2016 г. 10:58:37: Hvlad> никто и не собирался это запрещать :)на дебаркадере ж запретили. ну не папуасы ли?! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 11:00 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Мимопроходящий, ну ладно, идеологический такой запрет почему-то приводит в ужас. А практически? Нормально же все. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 11:23 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 16 мая 2016 г. 11:27:55: Kdv> ну ладно, идеологический такой запрет почему-то приводит в ужас. А практически? Нормально же все. А я так понимаю: Если закон один раз подмять, потом другой раз, потом начинать дырки в следствии затыкать, как нам с тобой будет удобно, то это не закон будет, а кистень! (с) зы: вообще-то, что там на дебаркадере происходит, глубоко наплевать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 11:32 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvА практически? Нормально же все.Выдать ошибку в синтаксическе корректном запросе - это нормально ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 11:42 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
hvlad, ок, уговорил ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 12:41 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
вообще, честно, не понимаю ажиотажа вокруг NULL . вот как не почитаешь очередной топик за NULL, все граждане упорно хотят привести его к какому-то значению. допустим, NULL = "НИЗНАЮ". к примеру, в некой базе: возраст Васи 25 лет. возраст Пети NULL. запросы: 1) старше Петя за Васю? ну, с Петей понятно, ему 25. а вот возраст Васи = НИЗНАЮ, соответственно ответ выражения (25 > НИЗНАЮ) = НИЗНАЮ. 2) сколько лет Васе и Пете вместе? 25 + НИЗНАЮ = НИЗНАЮ. Код: sql 1.
3) вывести на экран всех, кто старше за Васю Код: sql 1.
возраст Пети = НИЗНАЮ, с какого перепугу оно должно попадать в выборку? 4) вывести на экран всех, чей возраст я НИЗНАЮ. Код: sql 1.
вот шо здесь должна вернуть СУБД? отдельно и самостоятельно нужно задуматься за то, больше ли значение НИЗНАЮ от значения НИЗНАЮ? 5)хотя, при всём, можно у той же СУБД спросить: выведи всех, чей возраст ты (СУБД) не знаешь Код: sql 1.
или наоборот: выведи всех, чей возраст ты (СУБД) знаешь Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 18:43 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
PEAKTOPSELECT T.* FROM TABLENAME T WHERE (T.AGE = NULL) вот шо здесь должна вернуть СУБД? отдельно и самостоятельно нужно задуматься за то, больше ли значение НИЗНАЮ от значения НИЗНАЮ? какому-то мозгоклюю пришло в голову, что = NULL это неправильно, и вместо = надо использовать IS. С тех пор все мучаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 19:52 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvPEAKTOPSELECT T.* FROM TABLENAME T WHERE (T.AGE = NULL) вот шо здесь должна вернуть СУБД? отдельно и самостоятельно нужно задуматься за то, больше ли значение НИЗНАЮ от значения НИЗНАЮ? какому-то мозгоклюю пришло в голову, что = NULL это неправильно, и вместо = надо использовать IS. С тех пор все мучаются. мой пост перечитать ещё раз. я вот об этом и говорю: СУБД, дай мне товрищей, возраст которых я НИЗНАЮ. вот откуда СУБД возьмёт эти значения? и это - не мозгоё.., с точки зрения Булевой логики - всё правильно. то ли дело: СУБД, дай мне товарищей, возраст которых ТЫ не знаешь Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 20:04 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
PEAKTOP, ты знаешь, субд знает... ты ударился в философствование. Я при вводе не знаю, поэтому НЕ указал значение, поэтому СУБД записала NULL. Она знает, что ты не знаешь. Собственно, я про конструкцию IS NULL, которая удовлетворяет теоретиков языка SQL и трехзначной логики. Которая является в том числе звездецом для параметризированных запросов, которые не могут искать null по определению, для чего придумывают всякие костыли. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 21:16 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvкакому-то мозгоклюю пришло в голову, что = NULL это неправильно, и вместо = надо использовать IS. С тех пор все мучаются. Логику можно понять. Но не совсем так. "??? = NULL" - это правильная запись, корректная. Чтобы ни было вместо ??? - в результате будет неизвестно, равно ли оно "неизвестно". Т.к. даже "неизвестно" неизвестно, равно ли "неизвестно". Это логично и верно. И потому "??? = NULL" - корректная запись. Такая же корректная, как и "1=1" или "1=2". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 21:19 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Т.е., я хотел сказать, что " = NULL" - это правильно. Так же правильно, как и "1=2". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 21:24 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
YuRock, еще раз. = null по вашему правильно так же, как = 1 или = 2. Ок. Но = null ничего не выдаст, никогда. Потому что кто-то придумал, что выводить записи с null при поиске = null некрасиво, и вместо = null надо использовать is null, чтобы не смущать умы начинающих спецификой трехзначной логики. И этот кто-то не учел, что в field = :param кроме значений могут передавать и null. Но в этом случае надо как-то заменять fied = :param на field is null. Т.е. сначала узнать, что в параметре, а только потом формировать запрос. Вот это "синтаксически нормально"? Впрочем, это все риторика. Лично я считаю, что = null синтаксически некорректно, по двум причинам - null это ключевое слово, а = null - логическая бессмыслица, ибо всегда false. И контр-пример в виде 1 = 2 не катит, потому что его можно заменить на :param = :param, в котором null точно так же работать не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 21:33 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvеще раз. = null по вашему правильно так же, как = 1 или = 2. Ок. Нет, не ок :) Я имел ввиду, что (??? = null) так же правильно, как и "1=2". Т.е. эвивалентно. Но не просто "=1" или "=2". При =null не выдаст записи? Мне так и надо. Когда я в параметр запроса "определить, чей возраст больше :PARAM" в :PARAM передаю "неизвестно", т.е. NULL (пользователь ничего не выбрал, или справочник не заполнен или мало ли что), то я однозначно ожидаю в результате 0 записей. А совсем не набор записей, у который возраст людей не указан. Именно так логично, а не автоматом заменять логику на неверную (если заменять на IS NULL). Т.к. запрос "определить, у кого возраст не заполнен" совершенно не эквивалентен запросу "определить, чей возраст больше :PARAM". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 21:48 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdv> по двум причинам - null это ключевое слово Странная логика. А с константами сравнивать тоже нельзя? kdv> а = null - логическая бессмыслица, ибо всегда false Ну вот, столько писал и под конец выдал... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 22:28 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
ключевое или не ключевое слово всё равно. TRUE и FALSE тоже ключевые слова, однако сравнение с ними даёт совсем другой результат. NULL штука особенная, а потому с ней надо использовать другой оператор сравнения. NULL это не значение, а состояние. Что касается передачи NULL в параметры, то тут как раз всё нормально. Код: sql 1.
Это даже можно использовать. Например передав NULL я совершенно уверен, что запрос ничего не вернёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 22:47 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Симонов ДенисНапример передав NULL я совершенно уверен, что запрос ничего не вернёт. вот и ПроктоСтоматологи подтянулись.... -------- я ждал именно вас, товарищи! вы не поверите! но никто лучше вас проблематику NULL не опишет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 23:42 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
PEAKTOP, нет там никакой проблематики. Есть проблемы у новичков с недопониманием, прогибаться под них не имеет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 23:51 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Симонов Денис> NULL штука особенная, а потому с ней надо Симонов Денис> использовать другой оператор сравнения. А вот это как раз риторика, о которой говорил Дима. :) Симонов Денис> Это даже можно использовать. Например передав Симонов Денис> NULL я совершенно уверен, что запрос ничего не вернёт. Можно-то можно. Но не нужно. Практического смысла в этом нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 00:13 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамА вот это как раз риторика, о которой говорил Дима. Риторика - это разговоры на эту тему. Все равно никто стандарт sql менять не будет. А насчет ИБ - ну выдает where field = null ошибку синтаксиса. А что, такую конструкцию кто-то в здравом уме пишет? Ну пишут иногда 1=2. Но писать 1=null вроде пока никто не додумался, хоть на ИБ, хоть на ФБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 00:54 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdv> Риторика - это разговоры на эту тему. Все равно никто стандарт sql менять не будет. Именно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 01:46 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 17 мая 2016 г. 11:28:35: Kdv> А насчет ИБ - ну выдает where field = null ошибку синтаксиса. > А что, такую конструкцию кто-то в здравом уме пишет? Ну пишут иногда 1=2. > Но писать 1=null вроде пока никто не додумался, хоть на ИБ, хоть на ФБ. при динамическом построении запроса автоматической подсистемой - запросто. (если не озадачиться её допиливанием на предмет IS NULL) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 11:30 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
МимопроходящийKdv> Но писать 1=null вроде пока никто не додумался, хоть на ИБ, хоть на ФБ. при динамическом построении запроса автоматической подсистемой - запросто. (если не озадачиться её допиливанием на предмет IS NULL) +100. Таких систем не одна и даже не несколько - особенно там, где пользователю дают относительную свободу действий. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 12:32 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Ну, динамические запросы от/при параметрах не особо помогут. Поэтому и пишут всякие "= :a or is null". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 13:11 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Мимопроходящий(если не озадачиться её допиливанием на предмет IS NULL) Так ты ж вроде за этот "неестественный интеллект" фибы и критиковал ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 13:30 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Ты это... не путай... Фибы критиковать - это святое. Он бы их критиковал, даже если бы они были тупые как молоток, без всякого "неестественного интеллекта". :) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 13:35 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамОн бы их критиковал, даже если бы они были тупые как молоток, без всякого "неестественного интеллекта". :) "Ну они и тупые!" (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 14:17 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
kdvА насчет ИБ - ну выдает where field = null ошибку синтаксиса. А FB будет выдавать warning, так же как и при "where IntField = StrField", с возможностью "threat warnings as errors". Просто потому что это удобней в использовании. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 14:32 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
предлагаю завершить сей бессмысленный спор. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 14:33 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Fb User! You wrote on 17 мая 2016 г. 14:42:13: Fb User> А FB будет выдавать warningнеказистые мечты юного чукоцкого оленевода... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 14:42 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Добрый день. ВОТ КАК ВСЁ БЫЛО.... Возникла проблема в запросе с join. Потом выловил из за чего: select * from <table1> t1 where t1.field1=:pr1 при :pr1 = null количество записей в таблице 5694466 количество записей с field1=NULL в таблице 74590 Уточнили вопрос/проблему "с какого буя идут индексные чтения?". select * from <table0> t0 left join <table1> t1 on t1.field1=t0.field1 where t0.mdate=:param_date если t0.field1=NULL "n" штук, то выдаёт n*74590 индексированных чтений если результат выборки <table0> вернул 2300 строк, из них <table0>.field1=NULL 2000 шт, то получается (2000 * 74590 = ) 149 180 000 ненужных индексированных чтений из <table1>. хотелось бы, что бы эти ненужные индексные чтения не выполнялись. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 15:19 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
zigorzn, тут дело не только в null'ах. И ответ был дан практически сразу. Оптимизатор не учитывает заведомо ложные условия. В запросе Код: sql 1.
точно так же будут ненужные не индексированные чтения, хотя их можно было бы избежать. Возможно это будет исправлено в следующих версиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 15:24 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
а хотите поржать? смотрите сюда. внимательно! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 15:33 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
да, кстати, в FB1.5 (диалект 1) тоже самое Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 15:37 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Мимопроходящий, то есть, папуасом оказался кто-то из трех - Старки, Харрисон, или Борланд. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 15:47 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 17 мая 2016 г. 15:54:28: Kdv> то есть, папуасом оказался кто-то из трех - Старки, Харрисон, или Борланд.ага а я тут на дебаркадер наехал... зы: такое поведение сохранено до 1.5 включительно, независимо от диалекта. в 2.5 этого уже нет. за 2.0, 2.1 не знаю, не проверял. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 16:10 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
самое забавное, что там KDV защищает эту фичу :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 16:14 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
dimitrсамое забавное, что там KDV защищает эту фичу :-) 35 уроков жизни от Смешариков: http://www.adme.ru/tvorchestvo-kino/uroki-zhizni-ot-smesharikov-776160/ 29. У меня такое ощущение, что у кого с совестью нет проблем, у того и с памятью все в порядке. А у кого нет проблем с совестью? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 16:35 |
|
как обрабатывается NULL?
|
|||
---|---|---|---|
#18+
Мимопроходящий> да, кстати, в FB1.5 (диалект 1) тоже самое Третий тоже. dimitr> чтиво на ночь ... самое забавное, что там KDV защищает эту фичу :-) Да, весьма забавно. Вообще, тред интересный. Gen_Id(, Null) додуматься тяжело, конечно, а вот 5) case null when null - случай интересный. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 16:55 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1562176]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 455ms |
0 / 0 |