【发布时间】:2016-04-07 09:06:46
【问题描述】:
我正处于项目的最后阶段,无法找到工作是否过期。我将此链接到优先级,例如,如果作业的优先级为 1,则它必须在 1 天内完成,优先级为 4,然后 4 天。
我想出了一个 CASE,但这似乎没有任何帮助。
SELECT `defect_Id`,`Overtasked`
WHERE
CASE DATEDIFF(DD,`date_Investigaton` - `CURRENT_DATE()`) >= `priority` AS Overtasked
THEN `Overtasked` == 'YES'
ELSE `Overtasked` == 'NO'
END
解决方案
`SELECT defect_Id,
CASE WHEN DATEDIFF(date_Investigated, CURDATE()) >= priority
THEN 'YES'
ELSE 'NO'
END AS Overtasked
FROM defect_report
WHERE defect_Id = '82'`
感谢你们提供的指导!
【问题讨论】:
-
标记使用的 dbms。那里有一些非 ANSI SQL...
-
另外,删除 current_date() 周围的反引号。
-
我正在使用 WAMP 服务器和 PHP myAdmin
-
能否添加一些示例表数据,以及预期的结果?
-
DATEDIFF(DD, date_Investigaton - CURRENT_DATE())-- 什么是DD?