У меня есть следующий выбор поля Searched Case в запросе Oracle 10g SELECT
(case
when LOADER_CELLS.CELL_MODE='RW' then 1
when LOADER_CELLS.CELL_MODE='R' then 2
end) as CELL_EDIT_MODE_ID
но если я напишу это как выражение Simple Case, следующим образом:
(case LOADER_CELLS.CELL_MODE
when 'RW' then 1
when 'R' then 2
end) as CELL_EDIT_MODE_ID
Я получаю ошибку ORA-12704: character set mismatch
в строке when 'RW'
.
Я просмотрел документацию Oracle, и кажется, что мой синтаксис правильный. http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm
Может ли кто-нибудь помочь мне в этом?
CELL_MODE
этоNVARCHAR2(255)
. Я предположил, что это может быть проблема с кодировкой, но я не знаю, как преобразовать постоянные строки вNVARCHAR
. Также я не понимаю, почему вместо этого работает Searched case. - person Teejay   schedule 18.01.2013