172 похожих чатов

Привет. Есть такая функция - https://pastebin.com/08QhiNwg . В качестве аргументов

она принимает id записей из разных таблиц по которым фильтровать и bool переменную, чтобы понимать нужно ли вообще использовать данный фильтр. Но не важно стоит ли territory_filter true или false. Все равно условие в where срабатывает. Если сделать так:
AND (territory_in NOTNULL AND normal.territory_code_link_id = territory_in);
то фильтр срабатывает в любом случае, даже когда territory_in IS NULL. Делать под каждую комбинацию фильтров свою хранимку не вариант, так как таких комбинаций очень много будет.

То-есть есть три фильтра: territory_in, ministry_in, program_in и каждый из них может и задействоваться, и нет. Как это в процедуре описать? Проверка на NULL и дополнительная BOOL переменная не работают.

1 ответов

6 просмотров

Либо я чего-то не понимаю в вашем описании, любо вы какой-то фигнёй занимаетесь. Если значение переменной null, то любая операция с ней, кроме IS NULL, даёт также null. И когда это значение просачивается наверх, то запись отфильтровывается. Т.ею писать x is not null and x = ? совершенно не нужно. Если же, наоборот, условие не надо учитывать при нулевом значение переменной, то надо написать x is null or x = ?. Ещё есть coalesce, позволяющий заменить null на какое-то другое значение, например на пустую строку: coalesce(x, '') = ?

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
А дин типизация это хорошо или плохо?
Alexey
12
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Я хочу задать вопрос на тему "ещё одного" языка для входа на fpc. Ну, чтобы через флаг {$mode} фронт мог воспринимать "немножко другой синтаксис с той же самой семантикой... Э...
Wlad
4
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Карта сайта