我有一张桌子
ID LastName FirstName HireDate TerminationDate
1 Snow John 2009-06-20 2016-01-01
2 Drew Nancy 2010-02-12 2017-10-04
3 Spock Captain 2012-03-14 null
我想知道每个雇员的雇用与离职之间的天数差异,如果没有空值,则应将其作为今天的日期并计算 想知道它的SQL查询
答案 0 :(得分:1)
您可以使用DATEDIFF
使用以下内容:
SELECT *, DATEDIFF(IFNULL(TerminationDate, NOW()), HireDate) AS diffDays
FROM table_name
如果TerminationDate
是NULL
,则可以将IFNULL
函数和NOW
用作后备值。
答案 1 :(得分:0)
SELECT DATEDIFF(day, IsNull(hireDate, GETDATE()), IsNull(TerminationDate, GETDATE())) AS DateDiff;
答案 2 :(得分:0)
您可以使用DATEDIFF()函数。
SELECT DATEDIFF(IFNULL(TerminationDate, NOW), HireDate) FROM table_name