Ret*_*der 1 sql sql-server sql-server-2000
在sql2000中是否有一个简单的内置函数,如果money或float列为null,则返回0或0.00?或者我是否需要自己构建函数,我将如何构建它?if(isnull(col1))然后0 else col1?
是的,该函数被调用ISNULL
,您可以像这样使用它:
SELECT ISNULL(columnname, 0.0) AS xyz FROM tablename
Run Code Online (Sandbox Code Playgroud)
您基本上指定在第一个值为的情况下返回哪个值null
.
请注意,ISNULL
不返回指示参数是否为的布尔值null
,而是传递2个参数,它执行以下操作:
null
,则返回第一个参数的值您也可以使用此COALESCE
函数,它接受未指定数量的参数,并null
按照指定的顺序返回第一个非参数值.
换一种说法:
ISNULL(columnname, 0.0)
Run Code Online (Sandbox Code Playgroud)
和
COALESCE(columnname, 0.0)
Run Code Online (Sandbox Code Playgroud)
表现相同,但我不知道这两者的"sargeability"是否存在差异,即.他们是否可以使用索引.
归档时间: |
|
查看次数: |
381 次 |
最近记录: |