Microsoft Dynamics NAV
使用datetime
ofyyyy-12-31 23:59:59.000
来标识年度结帐分录。我正在尝试编写一份报告,其中将包含所有这些条目。2014
如果我明确使用以下WHERE
子句,则查询工作正常
WHERE [Posting Date] <> '2014-12-31 23:59:59.000')
但是我需要查询才能工作一年。我试过:
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
,等等的所有内容...
有没有一种简单的方法可以过滤给定的日期时间,但可以过滤任何年份?
可能是这样的:
WHERE MONTH([Posting Date]) <> 12 OR
DAY([Posting Date]) <> 31 OR
CAST([Posting Date] AS TIME) <> CAST('23:59:59.000' AS TIME)
更简短的答案:
WHERE YEAR([Posting Date]) <> YEAR(DATEADD(ss, 1, [Posting Date]))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句