如何在 where 子句中应用 if/else 逻辑?
How to apply if/else logic in where clause?
我有基于 If/Else
语句的逻辑。这应该应用于 SQL where 子句过滤器。这是关于它应该是什么样子的示例:
if (type = 'DEV') { // If type is DEV then status should be Y
status = 'Y'
}else{ // If not do not apply filter
1=1
}
我在 SQL 中尝试过:
WHERE id IN (89,56,87)
AND (
(type = 'TRNG' AND status = 'Y')
OR
(1=1)
)
我想知道是否有办法实现我在 if/else 语句中的内容?
如果我没看错的话,您似乎在寻找:
WHERE id IN (89,56,87) AND ( type <> 'DEV' OR status = 'Y')
这意味着:如果 type
是 'DEV'
,则 status
必须等于 'Y'
。这意味着如果 type
不同于 DEV
,则允许 status
的任何值。
我有基于 If/Else
语句的逻辑。这应该应用于 SQL where 子句过滤器。这是关于它应该是什么样子的示例:
if (type = 'DEV') { // If type is DEV then status should be Y
status = 'Y'
}else{ // If not do not apply filter
1=1
}
我在 SQL 中尝试过:
WHERE id IN (89,56,87)
AND (
(type = 'TRNG' AND status = 'Y')
OR
(1=1)
)
我想知道是否有办法实现我在 if/else 语句中的内容?
如果我没看错的话,您似乎在寻找:
WHERE id IN (89,56,87) AND ( type <> 'DEV' OR status = 'Y')
这意味着:如果 type
是 'DEV'
,则 status
必须等于 'Y'
。这意味着如果 type
不同于 DEV
,则允许 status
的任何值。