【发布时间】:2011-01-04 12:39:40
【问题描述】:
我在我的 sql server 2005 表中有一个列,该列应该包含员工服务的月数。
由于我还有员工的入职日期,我希望“months_In_Service”列是计算列。
现在,如果我使用 DATEDIFF(month,[DateEngaged],GETDATE()) 作为服务月份计算列的公式,结果有时正确,有时不正确。
获取 DateEngaged 值与当前日期之间的月数的更可靠方法是什么?我应该在计算列中使用哪个公式?
【问题讨论】:
-
您能否提供一些示例来说明您所说的有时正确有时不正确时的意思。
-
能否请您重新标记此(编辑)并设置 sql-server-2005(甚至只是 sql-server)?注意破折号。这里有些用户忽略了 SQL Server 问题(不是他们的专业知识)但对 SQL 问题感兴趣。
-
DateEngaged = '12/20/2009" CurrentDate = '1/13/2010" 使用公式“datediff(month,[DateEngaged],getdate()+( 1))" 它还使用公式 "datediff(year,[DateEngaged],getdate()+(1))" 将服务年限设为 1
-
你期待什么结果?
标签: sql sql-server tsql datetime datediff