2015-09-21 3 views
0

Как говорится в заголовке, я пытаюсь преобразовать нулевые значения в пустые строки. Я использую следующий код:Преобразовать значение NULL в пустую строку в SSIS

ISNULL((DT_WSTR,10,1252)[Serial No.])?"" : (DT_WSTR,10,1252)[Serial No.] 

Она возвращает: enter image description here

Я пытался несколько подобных решений, как указано выше, все они возвращают то же самое.

Обновление: для чего мне это нужно. Получил 4 столбца (включая серийный номер), которые мне нужно объединить в один столбец, это делается в производном столбце: ((DT_STR, 150,1252) ([Col1]) + (DT_STR, 150,1252) ([Col2]) + (DT_STR, 150,1252) ([серийный номер]) + (DT_STR, 150,1252) (Col4))

В случае, если один из них имеет значение NULL, он будет объединен с: NULL , Поэтому он не может использоваться в Lookup, что является следующим шагом.

+0

Но почему вы пытаетесь сделать это? Пустая строка не совпадает с NULL ... – jarlh

+0

Таблица содержит нулевые значения в столбце. Мне нужно, чтобы они были пустыми. –

+0

Я вижу, что вы пытаетесь сделать, но я не могу понять, почему вам нужно, чтобы они были пустыми ... – jarlh

ответ

0

Я думаю, что проблема связана с типом, отлитым внутри оператора ISNULL(): попробуйте это.

(DT_STR, 150, 1252) (ISNULL([Serial No.]) ? "" : [Serial No.]) 

Если это не сработает, попробуйте его без заявлений отливки всего:

(ISNULL([Serial No.]) ? "" : [Serial No.]) 
+0

Я приму свой ответ с объяснением: Ни один из выше не работал один. Мне пришлось преобразовать данные в String, прежде чем я мог использовать нет. 2. Thx :) –

Смежные вопросы