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

PHP Pilih dari MySQL di mana bidang tanggal adalah 7 hari ke depan

Anda mungkin telah menentukan expiry_date sebagai nilai datetime, yang berarti perbandingan Anda salah. misalnya Anda perlu menggunakan

SELECT ... WHERE date(expiry_date) = date(now() + interval 7 day)

sebagai gantinya (perhatikan pembungkusan +7 hari dalam date() operasi.

misalnya

Diberikan tabel dengan tanggal dan bidang datetime:

+------------+---------------------+
| d          | dt                  |
+------------+---------------------+
| 2013-06-28 | 2013-06-28 08:23:03 |
+------------+---------------------+

Perhatikan bagaimana perbandingannya:

mysql> select d=now(), d=date(now()), dt=now(), dt=date(now()), now() from x;
+---------+---------------+----------+----------------+---------------------+
| d=now() | d=date(now()) | dt=now() | dt=date(now()) | now()               |
+---------+---------------+----------+----------------+---------------------+
|       0 |             1 |        0 |              0 | 2013-06-28 08:26:20 |
+---------+---------------+----------+----------------+---------------------+
1 row in set (0.00 sec)

tanggal vs. datetime =false
date vs date =true
datetime vs. datetime =false (jj:mm:dd tidak cocok, jadi tidak sama)
datetime v.s. date =false (tanggal diperluas ke yyyy-mm-hh 00:00:00 dan jj:mm:dd tidak cocok



  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 menyimpan string teks dengan jeda baris ke bidang teks database MySQL menggunakan PHP?

  2. menyaring pencarian dengan tombol radio PHP SQL

  3. Sisipan batch EclipseLink sangat sangat lambat

  4. mysql2sqlite.sh Auto_Increment

  5. Prosedur Tersimpan MySQL, Pandas, dan Gunakan multi=True saat menjalankan beberapa pernyataan