Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / CASE и как перобразовать NULL->0 ? / 3 сообщений из 3, страница 1 из 1
12.06.2001, 12:52
    #32007333
DennisL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CASE и как перобразовать NULL->0 ?
Имееться запрос слудующего вида :

SELECT a.a1, a.a2, b.b1-(SELECT SUM(m1) FROM m WHERE m2=a.a4 ... ) AS xx ....

....

В запросе в нескольких пестах используються подзапросы возращающие данные для вычислений, но
могут быть случаи когда они возращают NULL, в этом случае результат операции равен тоже NULL
а надо везде кге возвращаеться NULL заменить его на 0

Вроде для этого надо использовать CASE но я не очень хорошо понимаю как им пользоваться :

b.b1-CASE (SELECT SUM(m1) FROM m WHERE m2=a.a4 ... )
WHEN NULL THEN 0
ELSE (SELECT SUM(m1) FROM m WHERE m2=a.a4 ... )
AS xx

такой вариант не очень мне нравиться два подзапроса получаеться ... или второй раз подзапрос выполняться не будет ?

Можно ли сделать это както по другому ?
...
Рейтинг: 0 / 0
12.06.2001, 12:59
    #32007335
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CASE и как перобразовать NULL->0 ?
смотри в BOL функцию COALESCE()
...
Рейтинг: 0 / 0
12.06.2001, 14:15
    #32007341
Alexander Chepack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CASE и как перобразовать NULL->0 ?
А еще лучше - функцию IsNull()
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / CASE и как перобразовать NULL->0 ? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]