Di MariaDB, QUARTER()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan seperempat dari ekspresi tanggal tertentu.
Itu menerima satu argumen, yang merupakan tanggal Anda ingin mengekstrak kuartal dari.
Ini mengembalikan kuartal sebagai angka dalam rentang 1
ke 4
. Untuk tanggal dengan nol bulan (mis. 0000-00-00
atau 2025-00-00
), hasilnya adalah 0
.
Sintaks
Sintaksnya seperti ini:
QUARTER(date)
Dimana date
adalah ekspresi tanggal untuk mendapatkan kuartal.
Contoh
Ini contohnya:
SELECT QUARTER('2030-08-01');
Hasil:
+------------------------+| QUARTER('2030-08-01') |+-----------------------+| 3 |+------------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT QUARTER('2030-08-01 10:30:45');
Hasil:
+--------------------------------+| QUARTER('2030-08-01 10:30:45') |+--------------------------------+ | 3 |+--------------------------------+
Nol Bulan
Tanggal dengan nol bulan menghasilkan 0
.
Contoh:
SELECT QUARTER('2030-00-00');
Hasil:
+------------------------+| QUARTER('2030-00-00') |+-----------------------+| 0 |+------------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT QUARTER(20301125);
Hasil:
+-------------------+| TRIWULAN (20301125) |+-------------------+| 4 |+-------------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT QUARTER(301125);
Hasil:
+-----------------+| QUARTER(301125) |+-----------------+| 4 |+-----------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT QUARTER(20301135);
Hasil:
+-------------------+| TRIWULAN (20301135) |+-------------------+| NULL |+-------------------+1 baris di set, 1 peringatan (0,000 detik)
Kita dapat memeriksa peringatan seperti ini:
SHOW WARNINGS;
Hasil:
+---------+------+----------------------------- ---------+| tingkat | Kode | Pesan |+---------+-------+--------------------------------------- --------+| Peringatan | 1292 | Nilai datetime salah:'20301135' |+---------+------+------------------------ --------------+
Pembatas Lainnya
Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:
SELECT
QUARTER('2030/06/25'),
QUARTER('2030,06,25'),
QUARTER('2030:06:25'),
QUARTER('2030;06!25');
Hasil (menggunakan keluaran vertikal):
QUARTER('2030/06/25'):2QUARTER('2030,06,25'):2QUARTER('2030:06:25'):2QUARTER('2030;06!25'):2Tanggal Saat Ini
Kita dapat melewati
NOW()
sebagai argumen datetime untuk menggunakan tanggal saat ini:SELECT NOW(), QUARTER(NOW());
Hasil:
+---------------------+----------------+| SEKARANG() | KUARTA(SEKARANG()) |+---------------------+----------------+| 2021-05-18 09:23:27 | 2 |+---------------------+----------------+Argumen Tidak Valid
Saat melewati argumen yang tidak valid,
QUARTER()
mengembalikannull
:SELECT QUARTER('2030-65-78');
Hasil:
+------------------------+| QUARTER('2030-65-78') |+-----------------------+| NULL |+-----------------------+1 baris di set, 1 peringatan (0,000 detik)Periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+----------------------------- -----------+| tingkat | Kode | Pesan |+---------+-------+--------------------------------------- ----------+| Peringatan | 1292 | Nilai datetime salah:'2030-65-78' |+---------+------+-------------------- --------------------+Argumen Tidak Ada
Memanggil
QUARTER()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:SELECT QUARTER();
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 1Dan contoh lain:
SELECT QUARTER('2030-12-10', '2031-12-10');
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 ' '2031-12-10')' di baris 1