Microsoft Dynamics NAV
使用datetime
的yyyy-12-31 23:59:59.000
来标识年度结算条目。我正在尝试撰写一份报告,将带来我除了这些以外的所有参赛作品。该查询2014
工作正常,如果我明确地使用SQL筛选出任何年份的特定月份,日期和时间
WHERE [Posting Date] <> '2014-12-31 23:59:59.000')
一个WHERE
条款,但我需要查询到任何一年的工作。我想:
WHERE (DATEPART(mm, [Posting Date]) <> 12) AND
(DATEPART(dd, [Posting Date]) <> 31) AND
(DATEPART(hh, [Posting Date]) <> 23) AND
(DATEPART(mi, [Posting Date]) <> 59) AND
(DATEPART(ss, [Posting Date]) <> 59)
但是过滤掉了,这是在December
或曾有31
一天的23
一个小时的一切,等...
是否有筛选定日期时间的简单方法,但任何一年?
不幸的是,我得到的结果与我的查询不起作用相同。 – Boone
@Boone,是的,有一个错误,你需要'或' –
我怀疑这样做的性能会非常糟糕,因为查询优化器将无法使用任何索引并将不得不处理每一行。一个更好的主意是创建一个包含排除日期的表格(仅限50行),并从报告中排除这些表格,例如'WHERE [发布日期]不在......) –