我想在 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
我怎么能搞清楚。我真的很感激任何建议..谢谢!
答案 0 :(得分:1)
CASE WHEN user_param = '1' THEN age > 20 ELSE name like 'Mr%' END
答案 1 :(得分:1)
尝试使用CASE;
SELECT * from some_table
WHERE record_valid_flg = 1
AND
CASE
WHEN (user_param = '1') THEN age > 20
ELSE name like 'Mr%'
END
答案 2 :(得分:1)
像这样使用CASE:
select * from some_table
where
record_valid_flg = 1
and CASE
WHEN user_param = '1' THEN age > 20
ELSE name like 'Mr%'
END;
答案 3 :(得分:1)
你可以像这样做
SELECT
*
FROM some_table
WHERE record_valid_flg = 1
AND IF(user_param = '1', age > 20, name LIKE 'Mr%')