得到錯誤的Oracle SQL CASE WHEN ORA-00932:不一致的數據類型:預期CHAR了數00932. 00000 - 「不一致的數據類型:有望%S得了%的」
ORA-00932: inconsistent datatypes: expected CHAR got NUMBER 00932. 00000 - "inconsistent datatypes: expected %s got %s"
當我運行以下查詢
SELECT distinct
CASE when t.cancelled = 'TRUE' then '0'
else t.amount END AMOUNT,
FROM table t
如果我運行它的數字或其他輸出的文本,就像這樣,它的工作原理。
SELECT distinct
CASE when t.cancelled = 'TRUE' then '0'
else 'xxx' END AMOUNT,
FROM table t
是t.amount多少? – NullUserException 2014-10-31 15:56:51
它是一個數字是 – Matt 2014-10-31 15:57:17
在這種情況下,將其轉換爲字符類型。 (即:'SELECT ... else TO_CHAR(t_amount)...') – NullUserException 2014-10-31 15:57:31