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

Bagaimana QUARTER() Bekerja di MariaDB

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'):2 

Tanggal 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() mengembalikan null :

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 1

Dan 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana UNCOMPRESSED_LENGTH() Bekerja di MariaDB

  2. Bagaimana ABS() Bekerja di MariaDB

  3. Bagaimana PI() Bekerja di MariaDB

  4. Bagaimana Fungsi INSERT() Bekerja di MariaDB

  5. Kurangi Sebulan dari Tanggal di MariaDB