示例:索赔日期= 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'
感谢您阅读本文。
答案 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