Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PERIOD_DIFF() Contoh – MySQL

MySQL memiliki PERIOD_DIFF() fungsi yang memungkinkan Anda menemukan perbedaan antara dua periode. Titik diberikan sebagai dua argumen terpisah, dan harus dalam format YYMM atau YYYYMM .

Sintaks

Sintaksnya seperti ini:

PERIOD_DIFF(P1,P2)

Dimana P1 adalah periode pertama, dan P2 adalah yang kedua.

Perhatikan bahwa meskipun fungsi ini tampaknya menggunakan tanggal, argumen periode sebenarnya bukan nilai tanggal.

Contoh 1 – Penggunaan Dasar

Berikut ini contoh dasarnya.

SELECT PERIOD_DIFF(199906, 199905);

Hasil:

+-----------------------------+
| PERIOD_DIFF(199906, 199905) |
+-----------------------------+
|                           1 |
+-----------------------------+

Jadi dalam hal ini, ada perbedaan 1 bulan antara kedua periode tersebut.

Contoh 2 – Hasil Negatif

Inilah yang terjadi jika kita menukar dua periode tersebut.

SELECT PERIOD_DIFF(199905, 199906);

Hasil:

+-----------------------------+
| PERIOD_DIFF(199905, 199906) |
+-----------------------------+
|                          -1 |
+-----------------------------+

Seperti yang diharapkan, hasilnya adalah nilai negatif.

Contoh 3 – Dua Digit Tahun

Anda juga dapat menggunakan dua digit tahun (sehingga formatnya YYMM ). Berikut ini contoh untuk didemonstrasikan.

SELECT PERIOD_DIFF(9906, 9905);

Hasil:

+-------------------------+
| PERIOD_DIFF(9906, 9905) |
+-------------------------+
|                       1 |
+-------------------------+

Contoh 4 – Menggunakan Tanggal Saat Ini

Berikut adalah contoh yang mendapatkan salah satu argumen periode dari tanggal saat ini. Periode tersebut kemudian dibandingkan dengan periode tertentu.

SELECT 
    CURDATE( ) AS 'Current Date',
    EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Current Period',
    199901 AS 'Previous Period',
    PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM CURDATE( )), 199901) AS 'Difference';

Hasil:

+--------------+----------------+-----------------+------------+
| Current Date | Current Period | Previous Period | Difference |
+--------------+----------------+-----------------+------------+
| 2018-06-30   |         201806 |          199901 |        233 |
+--------------+----------------+-----------------+------------+

Contoh 5 – Contoh Basis Data

Berikut adalah contoh yang mengambil contoh sebelumnya selangkah lebih maju dan membandingkan periode saat ini dengan periode yang berasal dari tanggal dalam database.

USE sakila;
SELECT
    EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Current Period',
    payment_date AS 'Payment Date',
    EXTRACT(YEAR_MONTH FROM payment_date) AS 'Payment Period',
    PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM payment_date), EXTRACT(YEAR_MONTH FROM CURDATE( ))) AS 'Difference'
FROM payment
WHERE payment_id = 1;

Hasil:

+----------------+---------------------+----------------+------------+
| Current Period | Payment Date        | Payment Period | Difference |
+----------------+---------------------+----------------+------------+
|         201806 | 2005-05-25 11:30:37 |         200505 |       -157 |
+----------------+---------------------+----------------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasi MySQL 8

  2. Cara membuat hubungan di MySQL

  3. Sinkronisasi database MySQL antara dua database

  4. MONTHNAME() Contoh – MySQL

  5. Menggunakan SQL LIKE dan IN bersama-sama