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

MariaDB DAY() Dijelaskan

Di MariaDB, DAY() adalah sinonim untuk DAYOFMONTH() . Ini mengembalikan hari dalam sebulan dari tanggal tertentu.

Itu menerima satu argumen, yang merupakan tanggal Anda ingin mengembalikan hari dalam sebulan.

Hasilnya ada di kisaran 1 ke 31 . Namun, jika tanggal memiliki bagian nol hari (misalnya '0000-00-00' atau '2021-00-00' ), hasilnya adalah 0 .

Sintaks

Sintaksnya seperti ini:

DAY(date) 

Dimana date adalah tanggal untuk mengekstrak hari.

Contoh

Ini contohnya:

SELECT DAY('2045-05-18'); 

Hasil:

+-------------------+| HARI('2045-05-18') |+-------------------+| 18 |+-------------------+

Nilai Tanggal-waktu

Ini juga berfungsi dengan nilai datetime:

SELECT DAY('2045-05-18 01:10:15'); 

Hasil:

+----------------------------+| DAY('2045-05-18 01:10:15') |+----------------------------+| 18 |+----------------------------+

Nol Hari

Berikut adalah contoh yang menggunakan hari nol pada tanggal:

SELECT DAY('0000-00-00'); 

Hasil:

+-------------------+| DAY('0000-00-00') |+-------------------+| 0 |+-------------------+

Tanggal Numerik

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

Contoh

SELECT DAY(20220308); 

Hasil:

+---------------+| HARI (20220308) |+---------------+| 8 |+---------------+

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

SELECT DAY(220308); 

Hasil:

+-------------+| HARI(220308) |+-------------+| 8 |+-------------+

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

SELECT DAY(220358); 

Hasil:

+-------------+| HARI (220358) |+-------------+| NULL |+-------------+

Pembatas Lainnya

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

SELECT 
    DAY('2028/12/30'),
    DAY('2028,12,30'),
    DAY('2028:12:30'),
    DAY('2028;12!30'); 

Hasil (menggunakan keluaran vertikal):

DAY('2028/12/30'):30DAY('2028,12,30'):30DAY('2028:12:30'):30DAY('2028;12!30'):30 

Tanggal Saat Ini

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

SELECT 
    NOW(),
    DAY(NOW()); 

Hasil:

+---------------------+------------+| SEKARANG() | HARI(SEKARANG()) |+---------------------+------------+| 2021-05-13 09:41:03 | 13 |+---------------------+------------+

Argumen Tidak Valid

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

SELECT DAY('Oops!'); 

Hasil:

+-------------+| DAY('Ups!') |+--------------+| NULL |+--------------+

Argumen Tidak Ada

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

SELECT DAY(); 

Hasil:

ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ')' di baris 1

Dan contoh lain:

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

Hasil:

ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ' ' '2045-05-08')' di baris 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grafik Kustom untuk Memantau Sistem MySQL, MariaDB, MongoDB, dan PostgreSQL Anda - Tips &Trik ClusterControl

  2. Cara Mencadangkan Basis Data MariaDB Moodle Anda

  3. Pengantar Penerapan MySQL Menggunakan Peran yang Mungkin

  4. Bagaimana ACOS() Bekerja di MariaDB

  5. Memahami Indeks di MySQL:Bagian Kedua