我正在尝试减去now() - 从30天开始创建日期时间字段以获取剩余日期作为日期时间字段,mysql为此类事件提供了错误。
SELECT id, created, INTERVAL 30 DAY - CURRENT_DATE - created as timeleft FROM tablename
答案 0 :(得分:0)
使用日期添加功能可以减去30天。
SELECT DATE_ADD(current_date, interval -30 day);
返回两个日期值之间的天数差异:
SELECT DATEDIFF(current_date, "2017-06-15");
您可以使用这些功能的组合来获得所需的结果。
答案 1 :(得分:0)
在mysql中你应该将datetime翻译成unix_timestamp来计算两天之间的差异
SELECT id, created, 30 - (unix_timestamp(CURRENT_DATE) - unix_timestamp(created )) / 3600/24 as timeleft FROM tablename