MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana DAYOFWEEK() Bekerja di MariaDB

Di MariaDB, DAYOFWEEK() adalah fungsi tanggal dan waktu bawaan yang mengembalikan hari dalam seminggu dari tanggal tertentu.

Ia menerima satu argumen, yang merupakan tanggal Anda ingin mengekstrak hari dalam seminggu.

Ini mengembalikan hari sebagai angka. Penomoran indeks mengikuti standar ODBC (1 =Minggu, 2 =Senin, dll). Ini berbeda dengan WEEKDAY() , di mana 0 =Senin, 1 =Selasa, dll.

Sintaks

Sintaksnya seperti ini:

DAYOFWEEK(date) 

Dimana date adalah tanggal untuk mendapatkan hari.

Contoh

Ini contohnya:

SELECT DAYOFWEEK('2030-01-25'); 

Hasil:

+-------------------------+| DAYOFWEEK('2030-01-25') |+-------------------------+| 6 |+-------------------------+

Dibandingkan dengan Nama Hari

Ini satu lagi, di samping DAYNAME() untuk mengembalikan nama hari:

SELECT 
    DAYOFWEEK('2030-01-20'),
    DAYNAME('2030-01-20'); 

Hasil:

+-------------------------+-------------------- ---+| DAYOFWEEK('2030-01-20') | DAYNAME('2030-01-20') |+-------------------------+------------ -----------+| 1 | Minggu |+------------------------+--------------------- --+

Seperti yang disebutkan, penomoran indeks dimulai dari 1 untuk hari Minggu.

Ini hari Sabtu:

SELECT 
    DAYOFWEEK('2030-01-19'),
    DAYNAME('2030-01-19'); 

Hasil:

+-------------------------+-------------------- ---+| DAYOFWEEK('2030-01-19') | DAYNAME('2030-01-19') |+-------------------------+------------ -----------+| 7 | Sabtu |+-------------------------+--------------------- --+

Nilai Tanggal-waktu

Ini juga berfungsi dengan nilai datetime:

SELECT DAYOFWEEK('2030-01-24 10:30:45'); 

Hasil:

+----------------------------------+| DAYOFWEEK('2030-01-24 10:30:45') |+--------------------------------- -+| 5 |+-----------------------------------+

Nol Hari

Hasil nol hari dalam null .

Contoh:

SELECT DAYOFWEEK('2030-00-00'); 

Hasil:

+-------------------------+| DAYOFWEEK('2030-00-00') |+-------------------------+| NULL |+------------------------+

Tanggal Numerik

Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.

Contoh

SELECT DAYOFWEEK(20300125); 

Hasil:

+---------------------+| DAYOFWEEK (20300125) |+---------------------+| 6 |+---------------------+

Atau bahkan yang berikut (yang menggunakan tahun dua digit):

SELECT DAYOFWEEK(300125); 

Hasil:

+-------------------+| DAYOFWEEK(300125) |+-------------------+| 6 |+-------------------+

Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:

SELECT DAYOFWEEK(20300135); 

Hasil:

+---------------------+| DAYOFWEEK (20300135) |+---------------------+| NULL |+---------------------+

Pembatas Lainnya

Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:

SELECT 
    DAYOFWEEK('2030/01/25'),
    DAYOFWEEK('2030,01,25'),
    DAYOFWEEK('2030:01:25'),
    DAYOFWEEK('2030;01!25'); 

Hasil (menggunakan keluaran vertikal):

DAYOFWEEK('2030/01/25'):6DAYOFWEEK('2030,01,25'):6DAYOFWEEK('2030:01:25'):6DAYOFWEEK('2030;01!25'):6 

Tanggal Saat Ini

Kita dapat melewati NOW() sebagai argumen tanggal untuk menggunakan tanggal saat ini:

SELECT 
    NOW(),
    DAYOFWEEK(NOW()); 

Hasil:

+---------------------+------------------+| SEKARANG() | DAYOFWEEK(SEKARANG()) |+---------------------+------------------+| 2021-05-15 09:17:44 | 7 |+---------------------+------------------+

Argumen Tidak Valid

Saat memberikan argumen yang tidak valid, DAYOFWEEK() mengembalikan null :

SELECT DAYOFWEEK('Homer'); 

Hasil:

+--------------------+| DAYOFWEEK('Homer') |+------+| NULL |+--------------------+

Argumen Tidak Ada

Memanggil DAYOFWEEK() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:

SELECT DAYOFWEEK(); 

Hasil:

ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'DAYOFWEEK'

Dan contoh lain:

SELECT DAYOFWEEK('2030-01-25', '2045-05-08'); 

Hasil:

ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'DAYOFWEEK'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Klon dari Cluster Database MySQL atau PostgreSQL Anda

  2. Cara Mengidentifikasi Masalah Kinerja MySQL dengan Query Lambat

  3. Empat Hal yang Tidak Anda Ketahui Tentang Amazon Aurora

  4. Memberikan Inovasi Lebih Cepat ke Komunitas MariaDB

  5. Cara Mendaftar semua Prosedur Tersimpan di MariaDB