我正在爲我的Oracle類工作以下問題。我有下面的解決方案,這有效,但我想格式化美元輸出。當我添加「TO_CHAR」語句時,出現「FROM」不在預期位置的錯誤。Oracle作業無法獲得「... THEN TO_CHAR」的功能嗎?
家庭作業問題:
使用Oracle數據庫的員工表和CASE表達式解碼部門ID。顯示部門編號,姓氏,工資以及一個名爲「新工資」的欄,其值基於以下條件: 如果部門編號爲10,那麼1.25 *工資 如果部門編號爲90,那麼1.5 *工資 如果部門ID爲130則1.75 *工資 否則顯示舊的工資。
工作語句,而不用 「TO_CHAR」:
SELECT LAST_NAME AS "LAST NAME", DEPARTMENT_ID AS "DEPARTMENT ID", SALARY,
CASE DEPARTMENT_ID
WHEN 10 THEN SALARY * 1.25
WHEN 90 THEN SALARY * 1.50
WHEN 130 THEN SALARY * 1.75
ELSE SALARY END AS "NEW SALARY"
FROM EMPLOYEES;
聲明的錯誤了:
SELECT LAST_NAME AS "LAST NAME, DEPARTMENT_ID AS "DEPARTMENT ID", SALARY,
CASE DEPARTMENT_ID
WHEN 10 THEN TO_CHAR (SALARY*1.25, '$99,999.99')
WHEN 90 THEN TO_CHAR (SALARY*1.50, '$99,999.99')
WHEN 130 THEN TO_CHAR (SALARY*1.75, '$99,999.99')
ELSE SALARY END AS "NEW SALARY"
FROM EMPLOYEES;
謝謝!
結果後修正如下:
姓部門ID SALARY新的工資 國王90 24000 $ 36,000.00 科赫哈90 17000 $ 25,500.00 德哈恩90 17000 $ 25,500.00
您的第二個語句一個錯字:你忘了放「後面的名字,是否只是在這裏? – giorashc 2012-03-08 18:25:42
你是對的,下面的答案仍然有用,但在此之後只有更正! – 2012-03-08 18:27:14
+1因爲承認它的作業問題 – tbone 2012-03-08 18:35:59