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

PHP Изберете от MySQL, където полето за дата е 7 дни в бъдещето

Вероятно сте дефинирали expiry_date като стойност за дата и час, което означава, че вашите сравнения са неправилни. напр. трябва да използвате

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

вместо това (обърнете внимание на обвиването на деня +7 в date() операция.

напр.

Дадена е таблица с дата и поле за дата и час:

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

Забележете как излиза сравнението:

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)

дата v.s. datetime =false
date v.s date =true
datetime v.s. datetime =false (hh:mm:ss не съвпада, така че не е равно)
datetime v.s. дата =false (датата се разширява до yyyy-mm-hh 00:00:00 и hh:mm:ss не съвпадат



  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, за да произведе желания резултат

  2. Обработка на цикъл while и групиране на MYSQL PHP стойности

  3. Хибернация на криптиране на база данни Напълно прозрачно за приложение

  4. Как да използвате изгледи в MySQL база данни

  5. Множество цикли While в рамките на цикъл While?