Конференция "Базы" » Как в параметр передать Null [D7, FireBird]
 
  • andpr99 (27.04.15 20:37) [20]
    Тогда наверное так:
    COALESCE(ID_FOCUS,'')=:ID_FOCUS
    А если параметр = NULL, то ставить туда пустую строку перед выполнением запроса.

    А почему в 2012 году у людей такое работало?

    > where (:param1 is null) or (column=:param2)


    junglecat: пишет unknown SQL data type (32766)
  • кгшзх © (27.04.15 20:46) [21]
    Тогда наверное так:

    ответ он не в плоскости синтаксиса.
    он в логике запроса.

    если с клиента в параметр переда нулл или пустая строка, то что должно быть?
    запрос должен вернуть те записи где нулл/пустая строка?
    или запрос вообще не должен принимать во внимание любые условия по полю параметра?
  • andpr99 (27.04.15 20:59) [22]
    Запрос должен вернуть все записи, где значение поля совпадает со значением параметра. В том числе если значения NULL.
    'a' = 'a'
    'b' = 'b'
    NULL = NULL
  • кгшзх © (27.04.15 21:12) [23]
    1. для отбора поля по нулу параметр не нужен
    2. если параметр есть, то поле нужно привести к ненунулу, чтобы можно было сравнивать на равенство через =

    что еще-то  мусолить?
 
Конференция "Базы" » Как в параметр передать Null [D7, FireBird]
Есть новые Нет новых   [134427   +34][b:0][p:0]