我知道我为什么会看到这个错误,这是因为我的一些locationDeletionDate是'9999-12-31 00:00:00.0000000',并且将90天添加到locationDeletionDate中(就像我在查询中所做的那样)会导致标题中的错误:
...WHERE
(bpj.JobStatus = 'Live')
AND (l.locationEffectiveDate <= SYSDATETIME())
AND (dateadd(d,90,l.locationDeletionDate) >= SYSDATETIME())...我想我需要的是一个条件CASE在我的WHERE-clause,以确保日期不会出错,如果添加90天?还是有一种更优雅的方式?
发布于 2015-07-22 15:06:00
你可以用这个方法来解决你的问题
...WHERE
(bpj.JobStatus = 'Live')
AND (l.locationEffectiveDate <= SYSDATETIME())
AND (l.locationDeletionDate >= dateadd(d, -90, SYSDATETIME())...在本例中,您还解决了性能问题。您的谓词变为SARGable。
https://stackoverflow.com/questions/31566503
复制相似问题