我想将适用于MSSQL的查询适配到Oracle,查询要大得多(这部分只是一个更大的查询中的一个字段),但我设法减少它看起来更简单。 SELECT CASE WHEN COUNT(*) > 0 THEN COUNT(*)
ELSE (SELECT COUNT(*) FROM table2)
END
FROM table1
我得到的错误是: ora-00937 not a
我在plsql中有点新,所以你能告诉我它存在一种否定案件的方法吗? 我的意思是,像这样: select CASE DENOM_CURRENCY_CODE
WHEN != 'MXN' THEN 'convert to USD'
ELSE TO_CHAR(QUANTITY) --keep the quantity
END
我收到此messaage “ORA-
从表中选择一些数据时,我希望使用CASE语句在空值的情况下返回“n/a”。 这是表的简化,但代表性的版本我看: CREATE TABLE test (
id INTEGER NOT NULL,
paid_cents INTEGER NULL DEFAULT NULL,
PRIMARY KEY (id)
);
INSERT INTO test VALUES (1,
我有一个场景,我需要检查日期和值以确定结果。 EX- case when my_date > '10-01-2011' and my_value = 0 then
'Do this'
else
'Do that'
end
我想在Oracle SQL查询中使用此,我想知道是否有这样的逻辑更好的办法,而不是使用情况说明;也许使用解码或任何其他oracle函数。
我尝试这样做: SELECT
o.ID_DOSSIER,
SUM(CASE WHEN ID_TYPE IN ('0','1') THEN SUM(TTL * -1) END) - SUM(CASE WHEN ID_TYPE IN ('2','3') THEN SUM(TTL) END)
FROM
ope o,actor a
WHERE o.ID_ACTION=a.