иногда будет НЕДЕЙСТВИТЕЛЕН, и в других случаях это будет НЕДЕЙСТВИТЕЛЬНО.
ою некоторые готовые утверждения, которые используют параметризованные значения. В качестве примера:
SELECT * FROM "Foo" WHERE "Bar"=@param
Иногда@param
возможноNULL
, В таких случаях я хочу, чтобы запрос возвращал записи, гдеBar
являетсяNULL
, но вышеприведенный запрос не сделает этого. Я узнал, что я могу использоватьIS
оператор для этого. Другими словами:
SELECT * FROM "Foo" WHERE "Bar" IS @param
Помимо различного отношения кNULL
Есть ли другие способы, которыми два приведенных выше утверждения будут вести себя по-разному? Что, если@param
не являетсяNULL
, но вместо этого, скажем,5
? ИспользуетIS
Оператор в таком случае безопасная (и вменяемая) вещь, которую нужно сделать? Есть ли какой-то другой подход, который я должен использовать?