Mysql
 sql >> база данни >  >> RDS >> Mysql

Дата на изтичане на PHP

Е, не знам вашата структура на базата данни, но да кажем, че е нещо подобно:

user_table
-----------------------------------------
user_id   | date_of_redeem | subscription
-----------------------------------------
user1     | 2014-02-01     | 90
user2     | 2014-05-18     | 365
user3     | 2014-07-22     | 180

Така че, като използвате само SQL изрази, можете да използвате нещо, като DATE_SUB. Сравнете date_of_redeem с днешната дата минус сумата на абонамента. Ако стойността на date_of_redeem е по-висока, тогава ще получите резултат, в противен случай ще върне празен набор от резултати.

SELECT *
FROM `user_table`
WHERE `date_of_redeem` > DATE_SUB(NOW(), INTERVAL `subscription` DAY) AND `user_id` = 'desired_user_id'

Редактиране:SQL Fiddle за горната заявка:http://sqlfiddle.com/#!2/ f95ea/11 (просто променете user3 към някой от потребителските идентификатори, за да проверите дали връщат резултати.

ако искате да получите таблица с всички дати на изтичане на абонамента, тогава можете да направите нещо подобно:

SELECT `user_id` AS `User`, (DATE_ADD(`date_of_redeem`, INTERVAL `subscription` DAY)) AS `Subscription Ends`
FROM `user_table`

SQL Fiddle за това:http://sqlfiddle.com/#!2/f95ea/9



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL Родител Дете Същата таблица; PHP Nest деца в родители като многоизмерен масив

  2. MySQL списък на всички процедури

  3. Достъп до mysql база данни от външен хост/ip? (т.е.:mysql работна маса)

  4. изберете 1 произволен ред със сложно филтриране

  5. Грешка за замяна на SQL или вмъкване в синтаксиса