#db2
#db2
Вопрос:
Я пытаюсь отличить внутренних клиентов от международных клиентов. Я могу сделать это в SQL, но мне нужно сделать это в DB2. Я бы сказал, в SQL.
Select
DCSCRY,
case when ocrh.dcscry = ' ' then 'BLANK' else case when ocrh.dcscry <> 'US ' then 'Y' else '' end
end as INTER
from ocrh
Результат
DCSCRY INTER
US
US
CA Y
CA Y
Есть какие-либо рекомендации по DB2?
Комментарии:
1. Тот же синтаксис в Db2 действителен для Db2-LUW. Если вы получаете какую-либо ошибку, вам следует отредактировать свой вопрос, чтобы точно отобразить ошибку.
Ответ №1:
Я не думаю, что SQL, который вы показали, действителен где угодно … и он не соответствует результатам, которые вы показали…
when ocrh.dcscry = ' ' then 'BLANK'
Но ваши результаты не показывают строку BLANK
DCSCRY INTER
В любом случае у вас есть дополнительный else
и case
в заявлении, которое вы опубликовали. Правильный синтаксис
case
when
when
else
end
Итак, ваше заявление должно быть
Select
DCSCRY,
case
when ocrh.dcscry = ' ' then 'BLANK'
when ocrh.dcscry <> 'US ' then 'Y'
else ''
end as INTER
from ocrh