Neo*_*Neo 19 sql t-sql sql-server
我有一个stored procedure给我一个输出(我将它存储在一个#temp表中),那个输出我传递给另一个scalar function.
而不是NULL如何
0在SELECT语句sql中显示结果?
例如,存储过程具有如下的选择语句:
SELECT Ename , Eid , Eprice , Ecountry from Etable
Where Ecountry = 'India'
Run Code Online (Sandbox Code Playgroud)
哪个给我输出像
Ename Eid Eprice Ecountry
Ana 12 452 India
Bin 33 NULL India
Cas 11 NULL India
Run Code Online (Sandbox Code Playgroud)
现在,而不是显示NULL我如何显示价格0?
应该是什么提到在SELECT声明中作出NULL的0?
And*_*mar 40
用途coalesce():
select coalesce(Eprice, 0) as Eprice
Run Code Online (Sandbox Code Playgroud)
仅在SQL Server中,您可以使用以下命令保存两个字符isnull():
select isnull(Eprice, 0) as Eprice
Run Code Online (Sandbox Code Playgroud)
尝试以下三种选择:
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
Run Code Online (Sandbox Code Playgroud)
还有另一种方法,但是大多数数据库都不支持SELECT MyColumn + 0这可能有效,但是在T-SQL中,NULL +任何东西仍然是NULL.