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

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


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