Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tanggal kedaluwarsa PHP

Yah, saya tidak tahu struktur database Anda, tetapi katakanlah seperti ini:

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

Jadi, dengan hanya menggunakan pernyataan SQL, Anda dapat menggunakan sesuatu, seperti DATE_SUB. Bandingkan date_of_redeem dengan tanggal hari ini dikurangi jumlah langganan. Jika nilai date_of_redeem lebih tinggi, maka Anda akan mendapatkan hasil, jika tidak maka akan mengembalikan kumpulan hasil kosong.

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

Sunting:SQL Fiddle untuk kueri di atas:http://sqlfiddle.com/#!2/ f95ea/11 (cukup ubah user3 ke salah satu ID pengguna untuk memeriksa apakah mereka mengembalikan hasil apa pun.

jika Anda ingin mendapatkan tabel dengan semua tanggal kedaluwarsa langganan, Anda dapat melakukan sesuatu seperti ini:

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

SQL Fiddle untuk ini: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. Bagaimana cara membuat pengguna MySQL hanya-baca?

  2. mysql bergabung dengan beberapa nilai dalam satu kolom

  3. MySQL – FOUND_ROWS() Fungsi untuk Jumlah Baris yang Terpengaruh

  4. Waktu pembuatan tabel Innodb

  5. mysql SUM bidang VARCHAR tanpa menggunakan CAST