点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我在where子句中添加了一个查询,如下所示:
" dbo.CustomerServiceDetails.ServiceEndDate>转换(SMALLDATETIME,{fn CURDATE()})或isull(dbo.CustomerServiceDetails.ServiceEndDate,'2500-01-01')"
执行时给我一个错误:" 在需要条件的上下文中在')'附近输入的非布尔类型的表达式。"
请在我错的地方提供帮助。
谢谢
Vaibhav
如果您应该始终在字段中进行IsNull检查,然后再检查该字段中的值。 这是因为将任何内容与null值进行比较都会得出null的结果,而不是true或false。
但是,真正的问题是OR后面的公式部分不会返回true或false。 isnull(dbo.CustomerServiceDetails.ServiceEndDate,'2500-01-01')返回日期值。 我可以将where子句更改为此:
您会注意到我在整个语句周围加上了括号。 如果where子句中有其他条件,则没有括号将无法正常工作,因为" and"和" or"是从左到右评估的,而不是在周围的" and"之前被评估的" or"。/p>
另一个选项可能是:
我更喜欢这一点,因为它更简单,但应该返回相同的结果。
-Dell
谢谢您Dell Stinnett-Christy 解决了我的问题。
猜测,但尝试添加括号:
(dbo.CustomerServiceDetails.ServiceEndDate>转换(SMALLDATETIME,{fn CURDATE()}))或isull(dbo.CustomerServiceDetails.ServiceEndDate,'2500-01- 01')
一周热门 更多>