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

PHP dan MySQL:Membandingkan bulan dan hari dengan tahun yang dinamis

Anda dapat menggunakan date_format MySQL berfungsi saat memeriksa tanggal.

Misalnya:

select date_format('2016-05-18', '%m%d');
+-----------------------------------+
| date_format('2016-05-18', '%m%d') |
+-----------------------------------+
| 0518                              |
+-----------------------------------+
1 row in set (0,01 sec)

Jadi, Anda bisa memeriksanya dengan interval sederhana:hari ini 0518 dan antara 2 Februari dan 31 Mei:

Contoh lengkap:

desc mytable;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| date_from | char(4) | YES  |     | NULL    |       |
| date_to   | char(4) | YES  |     | NULL    |       |
| price     | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
3 rows in set (0,00 sec)

select * from mytable;
+-----------+---------+-------+
| date_from | date_to | price |
+-----------+---------+-------+
| 0901      | 0930    |   100 |
| 1001      | 0201    |    80 |
| 0202      | 0531    |   100 |
| 0601      | 0701    |   120 |
+-----------+---------+-------+
4 rows in set (0,00 sec)

Contoh kueri:

select price, date_from, date_to from mytable where date_format(now(), '%m%d') between date_from and date_to;
+-------+-----------+---------+
| price | date_from | date_to |
+-------+-----------+---------+
|   100 | 0202      | 0531    |
+-------+-----------+---------+
1 row in set (0,01 sec)

EDIT :

Baca komentar Anda atas jawaban @FelipeDuarte... Untuk periode dari 10/01 (1 Oktober) hingga 02/01 (1 Februari), kita perlu mempertimbangkan tahun baru...

Anda dapat menipu dengan membagi periode menjadi dua:10/01 hingga 12/31 dan 01/01 hingga 02/01



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah MySQL mengkonsumsi lebih banyak sumber daya secara signifikan dibandingkan dengan DBMS lainnya?

  2. Cara menggunakan GROUP_CONCAT dalam CONCAT di MySQL

  3. Dimana saya bisa mendapatkan aplikasi chat room PHP/MYSQL

  4. MySQL tidak diluncurkan di XAMPP

  5. Python:gunakan mysqldb untuk mengimpor tabel MySQL sebagai kamus?