Di MariaDB, PERIOD_DIFF()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan jumlah bulan di antara dua periode.
Sintaks
Sintaksnya seperti ini:
PERIOD_DIFF(P1,P2)
Dimana P1
dan P2
adalah periode untuk mendapatkan perbedaan antara.
Kedua argumen dalam format YYMM atau YYYYMM. Itu bukan nilai tanggal.
Contoh
Ini contohnya:
SELECT PERIOD_DIFF(202108, 202101);
Hasil:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
Dalam contoh ini, ada perbedaan tujuh bulan antara dua periode.
Ganti Urutan
Jika periode pertama adalah periode sebelumnya ke periode kedua, hasilnya adalah nilai negatif.
Inilah yang terjadi ketika saya mengganti urutan argumen pada contoh sebelumnya:
SELECT PERIOD_DIFF(202101, 202108);
Hasil:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Dua Digit Tahun
Jika salah satu argumen berisi tahun dua digit, nilai dari 00 hingga 69 dikonversi ke 2000 hingga 2069, sedangkan nilai dari 70 dikonversi ke 1970 ke atas.
Contoh:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Hasil:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Argumen Tidak Ada
Memanggil PERIOD_DIFF()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT PERIOD_DIFF();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
Dan contoh lain:
SELECT PERIOD_DIFF( 6912 );
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'