我应该使用什么命令来根据这个问题进行输出:
显示加入会员超过700天的客户的所有价值,直到今天
这是我创建的表:
表客户
我尝试过使用DATEDIFF()
的其他引用,但它总是无效的:
SELECT * FROM Customers where DATEDIFF(DAY,customer_join,GETDATE())>700;
在MySQL/MariaDB中,与SQL Server不同,DATEDIFF()
只接受两个参数,并返回它们之间的整数天数。我们有timestampdiff()
,它有三个参数。
此外,getdate()
在MySQL中不是一个东西(这是一个定制的SQL Server函数(。
这里并不需要日期函数。我会用简单的数据算法来表达这个逻辑:
select *
from customers
where customer_join < current_date - interval 700 day
该表达式可以利用customer_join
上的索引。
根据是否要考虑customer_join
的时间部分(如果有(,可能需要使用now()
而不是current_date
。