我有一个自动计费流程,需要通过 cron 作业实现自动化。我想查询在哪里可以检查数据库是否准备好自动计费付款。
这是表格:
id user_id client_id payment_id save_details auto_billing price plan created active
3 1 1 PAY-xxxxxxxxxxxxxxxxxxxxxxxx 0 1 10 M 1484576988 2
7 1 1 PAY-yyyyyyyyyyyyyyyyyyyyyyyy 1 1 10 M 1484945652 1
4 1 2 PAY-ssssssssssssssssssssssss 0 1 10 M 1484594351 1
6 1 15 PAY-tttttttttttttttttttttttt 0 1 96 Y 1484615360 1
我当前的查询:
SELECT
COUNT(`p`.`auto_billing`) AS `total`
FROM
`payment` `p`
WHERE
`p`.`auto_billing` = 1
AND
`p`.`active` = 1
问题是:
如何检查 plan
是否为 M
并添加 created
+1 个月或 Y
并添加创建
+1 年起泡沫,我可以通过 PHP 检查当前时间戳并开始自动计费吗?
我需要以某种方式将created
字段转换为 future 一年的预期时间,具体取决于plan
变量。
我想更改完整的表,但系统已经有大约 7000 条记录,并且不想弄乱某些东西。
谢谢!
最佳答案
只需使用DATE_ADD
和条件表达式:
SELECT UNIX_TIMESTAMP(IF(plan='M', DATE_ADD(FROM_UNIXTIME(created), INTERVAL 1 MONTH), DATE_ADD(FROM_UNIXTIME(created), INTERVAL 1 YEAR))) from payment
此 SQL 将添加到创建的适当间隔。
关于php - MySQL:在查询中检查 future 一个月或一年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773236/