我有表格與訂單列表。每個訂單都有訂單日期(時間戳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