SSIS: ReplaceNull

by Alexey Knyazev 21. декабря 2012 20:15

Одной из частовозникающих задач в пакетах SSIS является замена значений NULL на какое-то конкретное значение. К сожалению, прежде это была не совсем тривиальная задача, т.к. в Integration Services не было оператора аналогичного оператору ISNULL() в языке T-SQL. Точнее даже так: оператор такой есть, но работает он немного иначе.
ISNULL (SSIS) - Возвращает результат в виде логического выражения, в зависимости от того, имеет ли выражение значение NULL.

Поэтому для задачи, в которой основное требование было обработать значения NULL и вывести вместо них значение 0 (ноль), решалась следующим скриптом:

(ISNULL(OpPriceAir) ? (DT_CY)0 : OpPriceAir) + (ISNULL(OpPriceExt) ? (DT_CY)0 : OpPriceExt)



С выходом SQL Server 2012 всё меняется, т.к. в SSIS появился новый оператор REPLACENULL. И теперь та же задача решается следующим образом:

REPLACENULL(OpPriceAir,0) + REPLACENULL(OpPriceExt,0)



Мелочь, но приятно.

Tags:

SQL Server

Добавить комментарий

  Country flag

biuquote
  • Комментарий
  • Предпросмотр
Loading