WHEREの filterring 句の下でIf Else (または同様のケース決定技術:)を使用したい。これが私のサンプルコードです。
select * from some_table
where
record_valid_flg = 1 and
if(user_param = '1')
then age > 20
else
name like 'Mr%'
end if
どうすればそれを理解できますか。私は本当に提案をいただければ幸いです..ありがとう!
CASEを使用してみてください。
SELECT * from some_table
WHERE record_valid_flg = 1
AND
CASE
WHEN (user_param = '1') THEN age > 20
ELSE name like 'Mr%'
END
次のように CASE を使用します。
select * from some_table
where
record_valid_flg = 1
and CASE
WHEN user_param = '1' THEN age > 20
ELSE name like 'Mr%'
END;
You can simply do it like this
SELECT
*
FROM some_table
WHERE record_valid_flg = 1
AND IF(user_param = '1', age > 20, name LIKE 'Mr%')
CASE WHEN user_param = '1' THEN age > 20 ELSE name like 'Mr%' END