如何根据列中的日期获取超过14天的日期?

时间:2017-03-29 04:09:36

标签: mysql

示例:索赔日期= 14/3/2017今天是29/3/2017超过14天。 我在Mysql中尝试过DATEDIFF它会以某种方式继续显示错误。

Example Table:
Table Name: 
**ec_claims**
ec_claims_id Primaryint(11)
ec_claims_date  date

CODE:

SELECT DATEDIFF(NOW(),ec_claims_date) AS DAYGAP FROM ec_claims
WHERE DAYGAP >= 14

错误:

#1054 - Unknown column 'DAYGAP' in 'where clause'

感谢您阅读本文。

2 个答案:

答案 0 :(得分:3)

使用DATE_ADD功能,如

SELECT DATE_ADD(now(),INTERVAL -14 DAY) AS fourteenDayAgo

在你的情况下

SELECT ec_claims_date FROM ec_claims
WHERE DATE_ADD(now(),INTERVAL -14 DAY)> ec_claims_date

或者像你写的那样,你必须在WHERE子句

中重复它
SELECT DATEDIFF(NOW(),ec_claims_date) AS DAYGAP FROM ec_claims
  WHERE DATEDIFF(NOW(),ec_claims_date) >= 14

答案 1 :(得分:0)

WHERE子句不允许使用别名。

您可以在where子句中使用整个表达式而不使用别名,例如:

SELECT DATEDIFF(NOW(),ec_claims_date) AS DAYGAP FROM ec_claims
WHERE DATEDIFF(NOW(),ec_claims_date) >= 14

或者,您可以使用HAVING代替WHERE并继续使用别名。

SELECT DATEDIFF(NOW(),ec_claims_date) AS DAYGAP FROM ec_claims
HAVING DAYGAP >= 14