在 JavaScript 等语言中,您可以有 2 个条件语句并用第一个“保护”第二个。例如:
if( scarryObject != null && scarryObject.scarryMethod() ) { ... }
// if scarryObject is null scarryMethod will not be called
我想我会像这样在 SQL 中实现同样的效果:
where int_date > 19500101
and month(CONVERT(smalldatetime, ... int_date))
这里的问题是,如果int_date
是一些“坏”值,例如 -1、0、1,则转换将失败,并且 sp 将因错误而停止。我认为第一个检查int_date > 19500101
将首先得到评估,如果为假,则将跳过第二个条件。
看起来它不像这样工作......或者?有没有其他方法可以做到这一点?
谢谢!