带有 WHERE 或 BETWEEN 运算符的 SQL DATEDIFF

我正在处理 mysql 查询语句。我必须找到两个日期之间的日期差异。第一个日期来自我的表列,第二个日期是 now()。而且我需要比较输出日期必须在 50 到 80 之类的日期范围内。我尝试使用下面的两行代码。但两者都不起作用。任何请可以帮助..


SELECT DATEDIFF(DAY, '2012-01-01', GETDATE()) AS d WHERE d>50 AND d<80


SELECT DATEDIFF(DAY, '2012-01-01', GETDATE()) AS d WHERE d BETWEEN 50 AND 80


守候你守候我
浏览 111回答 1
1回答

慕森王

该from子句不能使用select子句中定义的别名。您需要重复表达式,或使用子查询或 cte。如果您正在运行 SQL Server(如您的代码所示):select datediff(day, '2012-01-01', getdate()) as d&nbsp;from ...&nbsp; -- you should have a "from" clausewhere datediff(day, '2012-01-01', getdate()) between 50 and 80在 MySQL 中(如您问题上的标签所示):select datediff(current_date, '2012-01-01') as d&nbsp;from ...where datediff(current_date, '2012-01-01') between 50 and 80
打开App,查看更多内容
随时随地看视频慕课网APP