我有这个表结构:
我想在 HDN_EndDate
时显示数据列表今天日期与 HDN_EndDate
之间的天数不超过 60 天日期。
我的查询如下:
SELECT *,
DATEDIFF(HDN_EndDate, '2022-01-17')
AS HDN_DateDiff
FROM ___table
WHERE HDN_Type='Hosting'
AND HDN_DateDiff<60
ORDER BY HDN_DateDiff ASC
但它说 HDN_DateDiff
不能在 WHERE 子句中使用。
我怎样才能让它发挥作用?
最佳答案
您不能引用同一 SELECT
中定义的 WHERE
子句中的别名。 MySQL 重载其 HAVING
子句以允许它使用别名。以下版本应该可以工作:
SELECT *, DATEDIFF(HDN_EndDate, '2022-01-17') AS HDN_DateDiff
FROM ___table
WHERE HDN_Type = 'Hosting'
HAVING HDN_DateDiff < 60
ORDER BY HDN_DateDiff;
关于mysql - 在 MySql 的 where 子句中使用别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70749917/