ZEROIFNULL - SQL Teradata - Azure - PullRequest
       23

ZEROIFNULL - SQL Teradata - Azure

0 голосов
/ 07 октября 2019

Мы осуществляем миграцию из Teradata в Azure и преобразуем сценарии, которые указывали на Teradata, в соответствующие сценарии, которые работают в Azure.

На сервере SQL Teradata существует функция ZEROIFNULL , которая, как и ожидалось, если значение числового аргумента равно NULL, вернет ноль.

Эта функция не работает в Azure, мы используем Microsoft SQL Server Management Studio. У вас есть какие-нибудь идеи, как мне это заменить?

Вот пример

    SUM(ZZ.ONECOLUMN) AS ONECOLUMN,
    SUM(ZZ.OTHERCOLUMN) AS OTHERCOLUMN,
    SUM(**ZEROIFNULL**(ZZ.THISCOLUMN)) AS THISCOLUMN,

Любые предложения будут высоко оценены,

Спасибо!

1 Ответ

0 голосов
/ 10 октября 2019

Как сказал Джарлх, вы можете использовать:

COALESCE(ZZ.THISCOLUMN, 0)

Выражение COALESCE является синтаксическим сокращением для выражения CASE.

Вы также можете использовать CASE операторы, такие как при условии ravioli:

CASE  
WHEN (ZZ.THISCOLUMN IS  NULL) THEN 0  
ELSE ZZ.THISCOLUMN
END 

Надеюсь, это поможет.

...