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

Tanggal PHP ('W') vs MySQL YEARWEEK (sekarang ())

Anda perlu menentukan mode 3 pada panggilan mysql YEARWEEK:

SELECT YEARWEEK(now(),3); 

PHP date() tempat penampung W mengembalikan nomor minggu sesuai dengan spesifikasi ISO 8601 . Artinya minggu dimulai pada hari Senin (bukan hari Minggu), minggu pertama tahun itu angka 1 (bukan 0), dan minggu itu adalah minggu pertama yang dengan lebih dari setengah hari di tahun baru (jadi harus Januari pada hari Kamis). Menurut dokumentasi untuk MySQL Fungsi WEEK , kombinasi opsi tersebut adalah mode 3.

Juga, untuk menarik catatan Alles ke dalam jawaban yang diterima karena ini penting:placeholder Y dan W jangan pergi bersama. Jika Anda ingin tahun yang sesuai dengan nomor minggu ISO, Anda harus menggunakan o bukannya Y . Misalnya, pertimbangkan minggu yang dimulai pada Senin, 29 Desember 2014:

date('YW', mktime(0,0,0,12,29,2014));  #=> 201401 : 1st week of 2014??
date('oW', mktime(0,0,0,12,29,2014));  #=> 201501 : better


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah kunci asing bertindak sebagai kunci utama?

  2. Bisakah saya memasukkan kata sandi sekali untuk beberapa permintaan baris perintah mysql, di mana kueri tidak diketahui di muka?

  3. Melakukan perhitungan di MySQL vs PHP

  4. Apakah soft_delete Laravel membutuhkan indeks di MySQL?

  5. Bisakah Anda mengakses nilai kenaikan otomatis di MySQL dalam satu pernyataan?