Я ищу, чтобы сравнить два строковых поля в инструкции обновления. Оператор обновляет поле до 1, если есть текстовое совпадение, а 0 - нет. Проблема в том, что BLPU_TEXT имеет значение «55», а BLPU_PAO_SAO - «XX55XXX», он возвращает 0. Но я хочу, чтобы он возвращал 1, если есть какое-либо совпадение.Как сравнить две строки в операторе обновления
UPDATE NAG_ANALYSIS.AA3_ALL N
SET N.CARTO_BLPU_BLPU_MATCH =
(CASE WHEN N.BLPU_TEXT LIKE '%'||N.BLPU_PAO_SAO||'%'
THEN 1 ELSE 0 END);
Большое спасибо за ваше время
Пожалуйста, добавьте тег, для которого вы используете DB - это даст вам более релевантные ответы. –
У вас есть контроль над базой данных? Учитывая, что текст, который вы ищете, и текст, который вы ищете, находятся в одной записи, мне интересно, может ли CARTO_BLPU_BLPU_MATCH быть вычисляемым столбцом? –
Да, у меня есть контроль над базой данных. Я рассмотрю предложение о расчетной колонке. Спасибо за вашу помощь – Baz