我试图在sql服务器中执行以下查询:
declare @queryWord as nvarchar(20) = 'asdas' SELECT * FROM TABLE_1 WHERE (ISDATE(@queryWord) = 1) AND TABLE_1.INIT_DATE = CONVERT(Date,@queryWord)
这显然会导致错误,因为’asdas’无法转换为Date.虽然,我期待一种不同的行为.也就是说,因为ISDATE(@queryWord)= 1是假的,我期望sql不检查第二个条件,但显然,它确实如此.
我知道还有其他一些方法可以执行此查询,但这不是我的问题.我想知道是否有某种方法不检查第二个条件是第一个不满足.我很好奇,因为我认为sql已经做到了这一点.