sql - oracle中的case语句,条件为真
问题描述
如何使这个查询在 ORACLE SQL 中工作。这是我的 SQL 查询中的 where 子句。
AND (CASE
WHEN ('THIS_PARAMETER_VALUE') IS NULL
THEN 1=1
ELSE TABLE.COLUMN_NAME = ('THIS_PARAMETER_VALUE')
END)
解决方案
你这样写,假设参数名称是 your_parameter:
table.column_name=nvl(your_parameter,table.column_name)
因此,如果 your_parameter 为 NULL,则给出 table.column_name=table.column_name(即 1=1),否则给出 table.column_name=your_parameter
推荐阅读
- snmp - I need to program in python to warn when receive a list of possible OID
- java - 是否需要设置 LockAtMostFor 和 LockAtLeastFor?
- python - Is there a way to item assignment for bytes object?
- php - PHP array reference issue with ?? operator
- risc - CISC mul vs RISC mul instruction
- r - Determine Row Number based on Nonzero Elements
- java - 如何在 Spring 中显示数据库中的图片?
- swift - How to change the screen background color in SwiftUI mac app?
- java - Java 函数 delete() 和 renameTo() 不删除也不重命名
- angular - Angular date picker modal is not appearing as expected