Неверный идентификатор в запросе оракула
У меня есть следующий запрос:
SELECT
FIRST_NAME AS "NAME",
CASE COUNTRY
WHEN "FR" THEN "FRANCE"
WHEN "USA" THEN "UNITED STATES"
WHEN "C RO" THEN NULL
ELSE COUNTRY
END AS "COUNTRY"
FROM RAWDATA
Это кажется довольно прямым, но я получаю следующую ошибку:
ociexecute(): ORA-00904: "C RO": invalid identifier in path
Я довольно новичок в оракуле, поэтому любая помощь будет оценена.
1 ответ
Решение
Попробуй это. Строковые литералы в oracle заключены в одинарные кавычки. Двойные кавычки используются для включения идентификаторов (например, имен таблиц и столбцов), но в вашем примере они не нужны.
SELECT
FIRST_NAME AS NAME,
CASE COUNTRY
WHEN 'FR' THEN 'FRANCE'
WHEN 'USA' THEN 'UNITED STATES'
WHEN 'C RO' THEN NULL
ELSE 'COUNTRY'
END AS COUNTRY
FROM RAWDATA