SELECT CASE WHEN <COMPLICATED CODE THAT RETURNS A SINGLE INT> = 0ELSE <COMPLICATED CODE THATRETURNS A SINGLE INT> END 理想情况下,我希望使用现有的函数,而不是创建自己的函数: SELECT ISVALUE(COMPLICATED CODE THAT RETURNS ASINGLE INT,0,1)
其目的只是检查字段是否为NULL,如果字段不是NULL,则生成值1,否则生成值0。我不能在这里使用COALESCE,因为如果字段不是NULL,我只想返回1,而不是字段的值。我有种直觉,已经有一个函数可以做到这一点--比如像NULL_STATUS_INTEGER(foo.bar)这样的函数--而不需要写出CASE WHEN foo
我不知道您可以以某种方式将case语句与IN子句混合在一起。 下面的存储过程是用正确的风格编写的吗?也许这只是格式化,但这是如何工作的呢? 如果User.Location为0,则返回0。如果User.Location的值为1,并且LocationTypeID值等于SomeValue,则返回1。 WHERE