SQL语句中isnull函数内end, 0部分的作用咨询
关于SQL代码中
end, 0部分的作用解释 先把你提到的完整SQL代码贴出来:
isnull(case when mydate < @cutoff then [COL1] else [COLB] end, 0)
这里的end和, 0是两个不同部分的内容,分开解释:
end的作用:它是CASE条件表达式的结束标记,必须存在。这段代码里的case when...else...end是一个完整的逻辑块——当mydate小于变量@cutoff时取COL1的值,否则取COLB的值,end用来告诉数据库这个条件判断逻辑到这里结束,少了它SQL会直接报语法错误。, 0的作用:它是ISNULL函数的第二个参数。ISNULL函数的规则是:如果第一个参数(也就是前面CASE表达式的计算结果)的值为NULL,就用第二个参数的值(这里是0)来替代;如果第一个参数是非空值,就保留原数值。简单说就是把CASE结果里的空值统一换成0。
内容的提问来源于stack exchange,提问作者Brian Smith
相关产品推荐
相关产品推荐

