sql >> Databáze >  >> RDS >> Mysql

PHP Vyberte z MySQL, kde datum je 7 dní v budoucnosti

Pravděpodobně jste definovali expiry_date jako hodnotu datetime, což znamená, že vaše srovnání jsou nesprávná. např. musíte použít

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

místo toho (všimněte si zabalení dne +7 do date() operace.

např.

Je dána tabulka s datem a polem datetime:

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

Všimněte si, jak to srovnání dopadne:

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)

datum v.s. datetime =nepravda
datum v.s datum =pravda
datetime v.s. datetime =false (hh:mm:ss se neshoduje, takže se nerovná)
datetime v.s. datum =false (datum je rozšířeno na rrrr-mm-hh 00:00:00 a hh:mm:ss se neshodují



  1. Zobrazení zprávy, když nebyly nalezeny žádné výsledky vyhledávání PHP MySQL

  2. Vytvořte tabulku v příkazu by sql pomocí executeUpdate v Mysql

  3. Jak opravit „Neplatný název objektu ‚OPENJSON‘.“ v SQL Server

  4. MySQL - Nelze vytvořit pohled s proměnnou SET uvnitř