SQL, Oracle NULL-запрос - PullRequest
       1

SQL, Oracle NULL-запрос

0 голосов
/ 25 октября 2019

У меня есть этот бит кода в моем запросе, когда я удаляю его, он работает нормально, если я сохраняю его, я получаю

"ORA-00908: отсутствует ключевое слово NULL"

сообщение.

CASE WHEN pp.phone_number is '0' THEN ''

У меня есть другое If - Then и инструкция END, так что это не так.

Весь код на случай, если вы захотите увидеть это:

CASE WHEN pp.country_code_number = 44 THEN '0'||SUBSTR(REGEXP_REPLACE(pp.phone_number, '[^0-9]+', ''),-10) 
                WHEN pp.country_code_number IS NULL THEN '0'||SUBSTR(REGEXP_REPLACE(pp.phone_number, '[^0-9]+', ''),-10) 
                WHEN pp.phone_number is '0' THEN ''
                WHEN pp.phone_number is NULL THEN 'Blank'
                ELSE '***ERROR***'
                END 

Спасибо всем

Ответы [ 2 ]

1 голос
/ 25 октября 2019

IS используется только для проверки NULL;например,

CASE WHEN pp.phone_number IS NULL THEN …

Что вам нужно:

CASE WHEN pp.phone_number = '0' THEN ''
…

Кроме того, вы используете строку ('0'), которая выглядит как число;может быть, вам нужно проверить свои типы.

0 голосов
/ 25 октября 2019

Из того, что вы опубликовали, должно быть =, а не is:

case when pp.phone_number = '0' then ''

используется для NULL, например, is null или is not null

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...