Вместо NULL, как мне показать результат "0" с помощью оператора SELECT sql? - программирование
Подтвердить что ты не робот

Вместо NULL, как мне показать результат "0" с помощью оператора SELECT sql?

У меня есть один stored procedure, который дает мне вывод (я сохранил его в таблице #temp), и этот вывод я передаю другому scalar function.

Вместо NULL как показать 0 в результате с помощью оператора SELECT sql?

Например, хранимый proc имеет инструкцию выбора, например, follwing:

SELECT Ename , Eid , Eprice , Ecountry from Etable
Where Ecountry = 'India'

Что дает мне вывод вроде

Ename    Eid    Eprice    Ecountry
Ana      12     452       India
Bin      33     NULL      India
Cas      11     NULL      India

Теперь вместо того, чтобы показывать NULL, как я могу показать цену как 0?

Что следует упомянуть в инструкции SELECT, чтобы сделать NULL как 0?

4b9b3361

Ответ 1

Используйте coalesce():

select  coalesce(Eprice, 0) as Eprice

Только в SQL Server вы можете сохранить два символа с помощью isnull():

select  isnull(Eprice, 0) as Eprice

Ответ 2

Попробуйте эти три альтернативы:

1. ISNULL(MyColumn, 0)

2. SELECT CASE WHEN MyColumn IS NULL THEN 0 ELSE MyColumn END FROM MyTable

3. SELECT COALESCE(MyCoumn, 0) FROM MyTable

Существует другой способ, но он не поддерживается большинством баз данных   SELECT MyColumn + 0 Это может сработать, но NULL + все еще NULL в T-SQL.

Ответ 3

Попробуйте ISNULL(Eprice, 0) вместо Eprice

Ответ 4

Вы можете использовать это:

SELECT Ename , Eid , ISNULL(Eprice, 0) as Eprice, Ecountry from Etable
Where Ecountry = 'India'