Ответ 1
Используйте coalesce()
:
select coalesce(Eprice, 0) as Eprice
Только в SQL Server вы можете сохранить два символа с помощью isnull()
:
select isnull(Eprice, 0) as Eprice
У меня есть один 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
?
Используйте coalesce()
:
select coalesce(Eprice, 0) as Eprice
Только в SQL Server вы можете сохранить два символа с помощью isnull()
:
select isnull(Eprice, 0) as Eprice
Попробуйте эти три альтернативы:
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.
Попробуйте ISNULL(Eprice, 0)
вместо Eprice
Вы можете использовать это:
SELECT Ename , Eid , ISNULL(Eprice, 0) as Eprice, Ecountry from Etable
Where Ecountry = 'India'