我想知道是否有更有效的方法来编写案例循环。
$search = "ORDER BY CASE WHEN created_by = :created_by THEN -1
WHEN cat_id = 24 THEN -1
WHEN cat_id = 26 THEN -1
ELSE created_at END LIMIT :limit, :perpage";
Run Code Online (Sandbox Code Playgroud)
我怀疑是否
WHEN cat_id = 24 THEN -1
WHEN cat_id = 26 THEN -1
Run Code Online (Sandbox Code Playgroud)
可能
WHEN cat_id = IN(24,26) THEN -1
Run Code Online (Sandbox Code Playgroud)
如果不是,我该怎么办?我必须做某种for循环吗?
如果它只是两个值,那么您可以使用OR运算符,例如:
WHEN (cat_id = 24 or cat_id = 26) THEN -1
Run Code Online (Sandbox Code Playgroud)
如果您需要与多个值进行比较但它们不是顺序的,那么您可以使用IN运算符,例如
WHEN (cat_id IN (24, 26)) THEN -1
Run Code Online (Sandbox Code Playgroud)
如果值在范围内,则可以使用BETWEEN,例如:
WHEN (cat_id BETWEEN 21 and 30) THEN -1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1209 次 |
| 最近记录: |