如何使此查询在oraclesql中工作。这是我的sql查询中的where子句。
AND (CASE WHEN ('THIS_PARAMETER_VALUE') IS NULL THEN 1=1 ELSE TABLE.COLUMN_NAME = ('THIS_PARAMETER_VALUE') END)
anhgbhbe1#
您可以这样写,假设参数名是您的\u参数:
table.column_name=nvl(your_parameter,table.column_name)
因此,如果您的\u参数为null,那么它将给出table.column\u name=table.column\u name(即like 1=1),否则它将给出table.column\u name=您的\u参数
9udxz4iz2#
最安全的表述是:
AND (:parameter IS NULL OR TABLE.COLUMN_NAME = :parameter)
2条答案
按热度按时间anhgbhbe1#
您可以这样写,假设参数名是您的\u参数:
因此,如果您的\u参数为null,那么它将给出table.column\u name=table.column\u name(即like 1=1),否则它将给出table.column\u name=您的\u参数
9udxz4iz2#
最安全的表述是: