Выбор строк содержащих данные другой строки

68
05 апреля 2021, 02:30

подскажите, пожалуйста, в чем именно ошибка

Есть два столбца, в которых строки одного столбца могут содержать значения другого, например:

  • Доходы от повременной платы - prepaid (ст.1) и Доходы от повременной платы (ст.2)
  • или (EX) Бизнес: Доходы от услуг (ст.1) и (EX) Доходы от услуг (ст.2).

Я задаю формулу, которая должна третьему столбцу присвоить значение второго столбца, если тот содержится в первом.

Код вот такой:

PROC SQL;
CREATE TABLE WORK.SPS1_1111 AS 
SELECT t1.'Наименование счета'n, 
      t1.'Наименование счета (агрегат)'n, 
/* Вычисление */
        case
when t1.'Наименование счета'n contains t1.'Наименование счета (агрегат)'n
Then t1.'Наименование счета (агрегат)'n
Else ' '
        end
AS 'Вычисление'n
  FROM WORK.SPS1_0000 t1;
QUIT;

Но в результате у меня выдает только нулевые значения там, где должна была сработать формула.

При этом если есть полное совпадение между строк, то он выдает значение.

Answer 1

Проверьте наличие лишних пробелов в конце строки. Если проблема в этом, то убрать их можно командой strip

PROC SQL;
CREATE TABLE WORK.SPS1_1111 AS 
SELECT t1.'Наименование счета'n, 
      t1.'Наименование счета (агрегат)'n, 
/* Вычисление */
        case
when t1.'Наименование счета'n contains strip(t1.'Наименование счета (агрегат)'n)
Then t1.'Наименование счета (агрегат)'n
Else ' '
        end
AS 'Вычисление'n
  FROM WORK.SPS1_0000 t1;
QUIT;
READ ALSO
Вызвать метод сервиса через интерфейс Laravel

Вызвать метод сервиса через интерфейс Laravel

Помогите разобраться со следующей задачей

83
Syntax error, unexpected T_VARIABLE

Syntax error, unexpected T_VARIABLE

В чём может быть моя ошибка?

80
ImageMagick: как правильно ужать картинку?

ImageMagick: как правильно ужать картинку?

Необходимо с помощью ImageMagick обрезать фотографии по умному, то есть если фотография высокая по вертикали, то нужно при указании размера, скажем...

114
Регулярное выражение для preg_replace которое срабатывает на обратный слеш (“\”)

Регулярное выражение для preg_replace которое срабатывает на обратный слеш (“\”)

подскажите, пожалуйста, правильное регулярное выражение для preg_replace в PHP

88