diff --git a/lib/core/agent.py b/lib/core/agent.py index dd03186df..8f678af87 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -184,8 +184,11 @@ class Agent: @rtype: C{str} """ - nulledCastedField = queries[kb.dbms].cast % field - nulledCastedField = queries[kb.dbms].isnull % nulledCastedField + if field.startswith("(CASE"): + nulledCastedField = field + else: + nulledCastedField = queries[kb.dbms].cast % field + nulledCastedField = queries[kb.dbms].isnull % nulledCastedField return nulledCastedField diff --git a/lib/core/settings.py b/lib/core/settings.py index 363c2a5a2..0b7841353 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -83,7 +83,8 @@ SQL_STATEMENTS = { " limit ", " offset ", " union all ", - " rownum as ", ), + " rownum as ", + "(case ", ), "SQL data definition": ( "create ",