我有表格与订单列表。每个订单都有订单日期(时间戳1331182800)。对于每个订单,用户可以选择自动重新订购30,60或90天(reorder
field(int))。 我需要sql for cron来选择所有订单,它们的订单日期=日期+重新排序。 (日期订单+ 30或60或90天)。 你能帮我吗?Mysql unix时间戳选择
回答
SELECT * FROM orders o WHERE DATE_FORMAT(DATE_SUB(NOW(), INTERVAL o.reorder DAY), '%d/%m/%Y') = DATE_FORMAT(FROM_UNIXTIME(o.date), '%d/%m/%Y')
编辑以跳过比较的秒数。我没有MYSQL引擎,所以一些错误仍然可能发生,如果这样我很抱歉这样不方便...
其返回空结果。我有一个订单与订单日期2012年5月28日(1338183074)在重新排序字段我把2我的查询是:SELECT * FROM订单WHERE date_add(NOW(),INTERVAL重新排序DAY)= FROM_UNIXTIME('ord_date') – YamahaSY
查询也是比较秒数并不明显不匹配;更新即将到来 – Sebas
@Sebas'我没有MYSQL引擎' - 请允许我向您介绍[SQLFiddle](http://sqlfiddle.com/);-) – DaveRandom
像这样的东西应该工作:
SELECT * FROM orders WHERE `date` < UNIX_TIMESTAMP() - reorder*86400; # returns all orders, `date` field of which is older than 90 days ago
时间戳是从1970年1月1日 经过的秒数所以为了时间戳值转换为天一个需要与之相乘60 * 60 * 24(= 86400 )
- 1. MySQL的时间戳选择
- 2. UNIX时间戳和MYSQL
- 3. 店unix时间戳到MySQL
- 4. UNIX时间戳到MySQL DATETIME
- 5. MySQL的 - 从UNIX时间戳选择一年
- 6. 从unix时间戳选择最近7天mysql
- 7. 在间隔Mysql的选择时间戳
- 8. 选择两行中两个unix时间戳之间的差异
- 9. fullCalendar UNIX选择事件的UNIX时间戳转换问题
- 10. MySQL时间戳选择日期范围
- 11. 查询mysql:从时间戳中选择
- 12. 选择MySQL的时间戳范围
- 13. MySQL查询选择唯一时间戳
- 14. MySQL基于时间戳的IF选择
- 15. 时间戳:iso8601 vs unix时间戳
- 16. 转换Unix纪元时间戳到MySQL时间戳PHP
- 17. 选择每天最多一个值(存储在UNIX时间戳),
- 18. Unix时间戳到LDAP时间戳
- 19. Unix时间戳到FAT时间戳
- 20. 两个unix时间戳之间的选择日期
- 21. 选择开始和结束列之间的行(Unix时间戳)
- 22. PHP Unix时间戳
- 23. PHP UNIX时间戳
- 24. 在MySQL中创建Unix时间戳
- 25. 将Unix时间戳转换为MySQL DATETIME
- 26. MySQL分区和Unix时间戳
- 27. MySQL中的Unix时间戳phpMyAdmin
- 28. Mysql查询错误unix时间戳
- 29. Unix时间戳和mysql日期:birthdate
- 30. MySQL将datetime转换为Unix时间戳
订单日期是一个unix时间戳,重新排序是一个日期编号,不是他们? – Sebas
'SELECT * FROM table_name WHERE UNIX_TIMESTAMP()> =(order_time_col +(reorder_days_col * 86400))' – DaveRandom