为了账号安全,请及时绑定邮箱和手机立即绑定

带有 WHERE 或 BETWEEN 运算符的 SQL DATEDIFF

带有 WHERE 或 BETWEEN 运算符的 SQL DATEDIFF

PHP
守候你守候我 2023-05-26 15:34:42
我正在处理 mysql 查询语句。我必须找到两个日期之间的日期差异。第一个日期来自我的表列,第二个日期是 now()。而且我需要比较输出日期必须在 50 到 80 之类的日期范围内。我尝试使用下面的两行代码。但两者都不起作用。任何请可以帮助..SELECT DATEDIFF(DAY, '2012-01-01', GETDATE()) AS d WHERE d>50 AND d<80SELECT DATEDIFF(DAY, '2012-01-01', GETDATE()) AS d WHERE d BETWEEN 50 AND 80
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

该from子句不能使用select子句中定义的别名。您需要重复表达式,或使用子查询或 cte。


如果您正在运行 SQL Server(如您的代码所示):


select datediff(day, '2012-01-01', getdate()) as d 

from ...  -- you should have a "from" clause

where datediff(day, '2012-01-01', getdate()) between 50 and 80

在 MySQL 中(如您问题上的标签所示):


select datediff(current_date, '2012-01-01') as d 

from ...

where datediff(current_date, '2012-01-01') between 50 and 80


查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信