У меня есть столбец, который содержит строку отсканированного штрих-кода.Я хочу найти конкретное совпадение и вернуть в новом столбце строку 'match' и 'noMatch'
Регулярное выражение для штрих-кода:
'[0-9] {5,8} \% [0-9] * \% '
например, 13412432% 10000%
Мой запрос
SELECT
report."barcode" SIMILAR TO '[0-9]{5,8}\%[0-9]*\%',
(CASE report."barcode" WHEN (report."barcode" SIMILAR TO '[0-9]{5,8}\%[0-9]*\%') THEN 'match'
ELSE 'noMatch'
END) AS matchColumn
FROM report
Однако я'm всегда получает эту ошибку
ОШИБКА: оператор не существует: text = логическое значение LINE 3: (CASE report. "barcode" WHEN (report. "barcode ...
HINT: Ни один оператор не соответствует данному имени и типу (аргументам) аргументов. Возможно, вам потребуется добавить явные приведения типов. Состояние SQL: 42883 Символ: 106
Я довольно новичок в SQL, поэтому, когда документыговорит, что ожидает утверждения истина / ложь после КОГДА я подумал, что могу использовать SIMIAR TO сопоставление с образцом, так как он возвращает логическое значение.