Службы SSIS устанавливают записи, содержащие символы в виде нулевых значений - PullRequest
0 голосов
/ 01 мая 2018

Я недавно использую SSIS, я использую производный столбец для поиска и удаления символов («DI») из чисел, но с этим я заметил, что некоторые записи имеют некоторые дополнительные символы после «DI», мне нужны те, которые имеют только «DI», как я могу установить записи, которые содержат эти дополнительные символы, как нулевые значения (не путая те, которые содержат только «DI»)?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Не берите в голову, я разобрался, как заставить это работать, разделив на части для фильтрации и затем смешивая, так что спасибо за помощь!

0 голосов
/ 01 мая 2018

В SSIS есть несколько способов, которыми вы могли бы сделать это, но пару простых будет использовать SQL. Что-то вроде этого. Я использовал TRY_CAST для INT, но вы можете изменить тип данных, если это необходимо. Первый также зависит больше от версии SQL Server. Он был представлен в SQL Server 2012.

SELECT
    TRY_CAST(REPLACE(t.ColumnName,'DI','') AS INT) AS ColumnName
FROM SchemaName.TableName AS t

или другой вариант, если вы используете более старый SQL ...

SELECT
    CASE
        WHEN ISNUMERIC(REPLACE(t.ColumnName,'DI','')) = 1
        THEN REPLACE(t.ColumnName,'DI','')
        ELSE NULL
    END AS ColumnName
FROM SchemaName.TableName AS t

В вашем ИСТОЧНИКЕ НА НАЗНАЧЕНИЕ вы бы изменили ИСТОЧНИК на использование сценария SQL вместо прямой таблицы / представления.

...