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

Bagaimana YEAR() Bekerja di MariaDB

Di MariaDB, YEAR() adalah fungsi tanggal dan waktu bawaan yang mengembalikan tahun dari ekspresi tanggal tertentu.

Itu menerima satu argumen, yang merupakan tanggal Anda ingin mengekstrak tahun dari.

Ini mengembalikan tahun sebagai angka dalam kisaran 1000 ke 9999 . Untuk tanggal nol (mis. 0000-00-00 ), hasilnya adalah 0 .

Sintaks

Sintaksnya seperti ini:

YEAR(date) 

Dimana date adalah ekspresi tanggal untuk mendapatkan tahun.

Contoh

Ini contohnya:

SELECT YEAR('2030-08-01'); 

Hasil:

+--------------------+| TAHUN('2030-08-01') |+--------------------+| 2030 |+--------------------+

Nilai Tanggal-waktu

Ini juga berfungsi dengan nilai datetime:

SELECT YEAR('2030-08-01 10:30:45'); 

Hasil:

+-----------------------------+| TAHUN('2030-08-01 10:30:45') |+------------------------------+| 2030 |+-----------------------------+

Tanggal Nol

Tanggal nol menghasilkan 0 .

Contoh:

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

Hasil:

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

Tanggal Numerik

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

Contoh

SELECT YEAR(20301125); 

Hasil:

+----------------+| TAHUN (20301125) |+----------------+| 2030 |+----------------+

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

SELECT YEAR(301125); 

Hasil:

+-------------+| TAHUN (301125) |+--------------+| 2030 |+--------------+

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

SELECT YEAR(20301135); 

Hasil:

+----------------+| TAHUN (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 
    YEAR('2030/06/25'),
    YEAR('2030,06,25'),
    YEAR('2030:06:25'),
    YEAR('2030;06!25'); 

Hasil (menggunakan keluaran vertikal):

YEAR('2030/06/25'):2030YEAR('2030,06,25'):2030YEAR('2030:06:25'):2030YEAR('2030;06!25'):2030 

Tanggal Saat Ini

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

SELECT 
    NOW(),
    YEAR(NOW()); 

Hasil:

+---------------------+-------------+| SEKARANG() | TAHUN(SEKARANG()) |+---------------------+-------------+| 2021-05-18 08:55:02 | 2021 |+---------------------+-------------+

Argumen Tidak Valid

Saat melewati argumen yang tidak valid, YEAR() mengembalikan null :

SELECT YEAR('2030-65-78'); 

Hasil:

+--------------------+| TAHUN('2030-65-78') |+------+| NULL |+--------------------+1 baris di set, 1 peringatan (0,001 detik)

Periksa peringatannya:

SHOW WARNINGS; 

Hasil:

+---------+------+----------------------------- -----------+| tingkat | Kode | Pesan |+---------+-------+--------------------------------------- ----------+| Peringatan | 1292 | Nilai datetime salah:'2030-65-78' |+---------+------+-------------------- --------------------+

Argumen Tidak Ada

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

SELECT YEAR(); 

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 YEAR('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 LOG10() Bekerja di MariaDB

  2. Pilih Semuanya Sebelum atau Setelah Karakter Tertentu di MariaDB

  3. MariaDB Server 10.0.33 sekarang tersedia

  4. TAMPILKAN TABEL di MariaDB

  5. Bagaimana LTRIM() Bekerja di MariaDB