У нас есть запрос:
SELECT *
FROM wo_hdr
WHERE tm_no LIKE CONCAT('%', $P{tm_no}, '%')
Однако, когда параметр $P{tm_no}
равен нулю, нам нужно вернуть все значения.
Я видел, как другие использовали
SELECT *
FROM wo_hdr
WHERE tm_no is null or tm_no LIKE CONCAT('%', $P{tm_no}, '%')
Это не работает для нас, потому что тогда, когда мы не хотим возвращать нулевые значения, когда $P{tm_no}
не равно нулю.
Кто-нибудь знает хорошее решение для этого? Я подумал, что, возможно, оператор CASE сработает, но его использование в предложении WHERE выглядит странно. Он должен работать как с ORACLE, так и с SQL Server.
Спасибо.