У меня есть SQL заявление, как это:Набор символов несовпадение оракул Ошибка
SELECT QUOTE_CREATION.*,
CASE
WHEN (SUBSTR (QUOTE_CREATION."PO_number", 1, 3)) = 'ARA'
THEN
'TE161938'
WHEN (SUBSTR (QUOTE_CREATION."PO_number", 1, 3)) = 'HH-'
THEN
'TE161302'
WHEN (SUBSTR (QUOTE_CREATION."PO_number", 1, 3)) = 'SMT'
THEN
'TE161101'
WHEN (SUBSTR (QUOTE_CREATION."PO_number", 1, 3)) = 'AYP'
THEN
'TE108812'
WHEN (SUBSTR (QUOTE_CREATION."PO_number", 1, 3)) = 'DKR'
THEN
'TE160895'
ELSE
QUOTE_CREATION."Created_By"
END
AS CORRECT_USER_ID
FROM CCO.QUOTE_CREATION QUOTE_CREATION
Но когда я пытаюсь выполнить запрос, я получаю сообщение об ошибке «Character установлено несоответствие» в «ELSE„“» часть выражения CASE. Может ли кто-нибудь предложить, где я делаю это неправильно?
Спасибо santhosha
@Indoknight Это вполне допустимо синтаксис Oracle и используется, когда вам нужно для указания имени, содержащего строчные буквы. –
Каков тип данных 'Created_By'? – IndoKnight
@ Yasir Спасибо за информацию. – IndoKnight