Я работаю над следующим вопросом для своего класса Oracle.У меня есть решение ниже, это работает, но я хотел бы отформатировать вывод в долларах.Когда я добавляю оператор «TO_CHAR», я получаю сообщение об ошибке «FROM» не там, где ожидается.
Вопрос о домашнем задании:
Использование таблицы сотрудников базы данных Oracleи CASE выражение для декодирования идентификатора отдела.Отобразите идентификатор отдела, фамилию, зарплату и столбец с именем «Новая зарплата», значение которого основано на следующих условиях: Если идентификатор отдела равен 10, тогда 1,25 * зарплата Если идентификатор отдела равен 90, тогда 1,5 * зарплата Если идентификатор отделаравно 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;
СПАСИБО!
Результат после исправления ниже:
ИД ОТДЕЛА ПОСЛЕДНЕГО ИМЯ SALARY NEW SALARY King 90 24000 $ 36 000,00 Kochhar 9017000 $ 25 500,00 Де Хаан 90 17 000 $ 25 500,00