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

YEARWEEK() Contoh – MySQL

Di MySQL, YEARWEEK() fungsi mengembalikan tahun dan minggu untuk tanggal tertentu. Anda memberikan tanggal sebagai argumen, dan fungsi akan mengembalikan hasil yang sesuai.

Anda juga memiliki opsi untuk menentukan apakah akan memulai minggu pada hari Minggu atau Senin, dan apakah minggu tersebut harus dalam kisaran 0 hingga 53 atau 1 hingga 53.

Sintaks

Anda dapat menggunakan salah satu dari dua formulir berikut:

YEARWEEK(date)
YEARWEEK(date,mode)

Dimana:

  • date adalah tanggal yang Anda inginkan untuk mengembalikan nomor tahun dan minggu.
  • mode adalah angka yang menentukan apakah minggu harus dimulai pada hari Minggu atau Senin dan apakah minggu harus dalam kisaran 0 hingga 53 atau 1 hingga 53. Lihat tabel di bawah untuk kemungkinan nilai mode.

Jika tidak ada mode yang ditentukan, modenya adalah 0 .

Contoh 1 – Penggunaan Dasar

Berikut ini contoh untuk didemonstrasikan.

SELECT YEARWEEK('2021-01-25') As 'Result';

Hasil:

+--------+
| Result |
+--------+
| 202104 |
+--------+

Berikut ini contoh dengan tanggal yang berbeda.

SELECT YEARWEEK('1999-12-25') As 'Result';

Hasil:

+--------+
| Result |
+--------+
| 199951 |
+--------+

Contoh 2 – Tentukan Mode

Jika Anda tidak menentukan argumen kedua, YEARWEEK() fungsi menggunakan 0 sebagai mode.

Namun, Anda juga memiliki opsi untuk memberikan argumen kedua untuk menentukan mode mana yang akan digunakan. Contoh:

SELECT YEARWEEK('2019-11-23', 7) AS 'Mode 7';

Hasil:

+--------+
| Mode 7 |
+--------+
| 201946 |
+--------+

Nilai mode yang mungkin adalah sebagai berikut.

Mode Hari pertama dalam seminggu Rentang Minggu 1 adalah minggu pertama …
0 Minggu 0-03 dengan hari Minggu di tahun ini
1 Senin 0-03 dengan 4 hari atau lebih tahun ini
2 Minggu 1-53 dengan hari Minggu di tahun ini
3 Senin 1-53 dengan 4 hari atau lebih tahun ini
4 Minggu 0-03 dengan 4 hari atau lebih tahun ini
5 Senin 0-03 dengan hari Senin di tahun ini
6 Minggu 1-53 dengan 4 hari atau lebih tahun ini
7 Senin 1-53 dengan hari Senin di tahun ini

Ini adalah nilai yang sama yang dapat digunakan dengan WEEK() fungsi.

Satu perbedaan antara kedua fungsi ini adalah bahwa WEEK() fungsi mendapatkan mode defaultnya dari default_week_format variabel sistem (nilai default variabel ini adalah 0 ). YEARWEEK() di sisi lain, mengabaikan pengaturan ini, dan menggunakan 0 sebagai nilai defaultnya (terlepas dari default_week_format pengaturan).

Contoh 3 – Perbandingan Mode

Berikut perbandingan singkat tentang bagaimana Anda bisa mendapatkan hasil yang berbeda tergantung pada mode yang digunakan.

Tiga contoh berikut menggunakan kode yang sama, tetapi dengan tiga tanggal yang berbeda. Tanggal-tanggal ini berurutan – terjadi pada tanggal 5, 6, dan 7 Januari. Seperti yang Anda lihat, hasilnya bisa sangat berbeda tergantung pada tanggal pasti dan mode yang digunakan.

Tanggal 1

SET @date = '2019-01-05';
SELECT 
  YEARWEEK(@date, 0) AS 'Mode 0',
  YEARWEEK(@date, 1) AS 'Mode 1',
  YEARWEEK(@date, 2) AS 'Mode 2',
  YEARWEEK(@date, 3) AS 'Mode 3',
  YEARWEEK(@date, 4) AS 'Mode 4',
  YEARWEEK(@date, 5) AS 'Mode 5',
  YEARWEEK(@date, 6) AS 'Mode 6',
  YEARWEEK(@date, 7) AS 'Mode 7';

Hasil:

+--------+--------+--------+--------+--------+--------+--------+--------+
| Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 |
+--------+--------+--------+--------+--------+--------+--------+--------+
| 201852 | 201901 | 201852 | 201901 | 201901 | 201853 | 201901 | 201853 |
+--------+--------+--------+--------+--------+--------+--------+--------+

Tanggal 2

SET @date = '2019-01-06';
SELECT 
  YEARWEEK(@date, 0) AS 'Mode 0',
  YEARWEEK(@date, 1) AS 'Mode 1',
  YEARWEEK(@date, 2) AS 'Mode 2',
  YEARWEEK(@date, 3) AS 'Mode 3',
  YEARWEEK(@date, 4) AS 'Mode 4',
  YEARWEEK(@date, 5) AS 'Mode 5',
  YEARWEEK(@date, 6) AS 'Mode 6',
  YEARWEEK(@date, 7) AS 'Mode 7';

Hasil:

+--------+--------+--------+--------+--------+--------+--------+--------+
| Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 |
+--------+--------+--------+--------+--------+--------+--------+--------+
| 201901 | 201901 | 201901 | 201901 | 201902 | 201853 | 201902 | 201853 |
+--------+--------+--------+--------+--------+--------+--------+--------+

Tanggal 3

SET @date = '2019-01-07';
SELECT 
  YEARWEEK(@date, 0) AS 'Mode 0',
  YEARWEEK(@date, 1) AS 'Mode 1',
  YEARWEEK(@date, 2) AS 'Mode 2',
  YEARWEEK(@date, 3) AS 'Mode 3',
  YEARWEEK(@date, 4) AS 'Mode 4',
  YEARWEEK(@date, 5) AS 'Mode 5',
  YEARWEEK(@date, 6) AS 'Mode 6',
  YEARWEEK(@date, 7) AS 'Mode 7';

Hasil:

+--------+--------+--------+--------+--------+--------+--------+--------+
| Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 |
+--------+--------+--------+--------+--------+--------+--------+--------+
| 201901 | 201902 | 201901 | 201902 | 201902 | 201901 | 201902 | 201901 |
+--------+--------+--------+--------+--------+--------+--------+--------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ekspor database MySQL/MariaDB

  2. Bagaimana cara mengatur item yang dipilih dalam kotak drop-down

  3. Pemeriksaan Kesehatan Penting untuk Server Replika Sumber MySQL Anda

  4. Lewati array ke rutinitas tersimpan MySQL

  5. Cara Mendapatkan Catatan dari 10 Menit Terakhir di MySQL