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

TIMESTAMPDIFF() Contoh – MySQL

MySQL TIMESTAMPDIFF() fungsi digunakan untuk menemukan perbedaan antara dua ekspresi tanggal atau datetime. Anda harus memasukkan dua nilai tanggal/waktu, serta unit yang akan digunakan dalam menentukan perbedaan (mis., hari , bulan , dll). TIMESTAMPDIFF() fungsi kemudian akan mengembalikan perbedaan dalam unit yang ditentukan.

Sintaks

Pertama, begini sintaksnya:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

Di sini, unit adalah satuan yang digunakan untuk menyatakan perbedaan (misalnya hari, bulan, tahun, dll). datetime_expr1 adalah nilai tanggal/datetime pertama, dan datetime_expr2 adalah yang kedua.

Fungsi ini mengurangi datetime_expr1 dari datetime_expr2 dan mengembalikan hasilnya dalam unit s. Hasilnya dikembalikan sebagai bilangan bulat.

Unit yang Valid

unit argumen dapat berupa salah satu dari berikut ini:

  • MICROSECOND
  •  SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Contoh 1 – Perbedaan Hari

Berikut adalah contoh untuk mendemonstrasikan penggunaan dasar fungsi ini. Di sini kami membandingkan dua ekspresi tanggal dan mengembalikan perbedaannya dalam hari.

SELECT 
  TIMESTAMPDIFF(DAY,'2022-02-01','2022-02-21')
  AS 'Difference in Days';

Hasil:

+--------------------+
| Difference in Days |
+--------------------+
|                 20 |
+--------------------+

Contoh 2 – Perbedaan Jam

Dalam contoh ini kami membandingkan nilai yang sama seperti pada contoh sebelumnya, kecuali di sini, kami mengembalikan selisihnya dalam jam .

SELECT 
  TIMESTAMPDIFF(HOUR,'2022-02-01','2022-02-21')
  AS 'Difference in Hours';

Hasil:

+---------------------+
| Difference in Hours |
+---------------------+
|                 480 |
+---------------------+

Contoh 3 – Contoh 'datetime'

Berikut adalah contoh yang mengembalikan perbedaan dalam hitungan menit. Dalam hal ini, kami membandingkan dua nilai waktu-tanggal (sebagai lawan hanya nilai tanggal seperti pada contoh sebelumnya).

SELECT 
  TIMESTAMPDIFF(MINUTE,'2022-02-01 10:30:27','2022-02-01 10:45:27')
  AS 'Difference in Minutes';

Hasil:

+-----------------------+
| Difference in Minutes |
+-----------------------+
|                    15 |
+-----------------------+

Contoh 4 – Detik Pecahan

Anda dapat langsung ke mikrodetik (6 digit) jika perlu.

SELECT 
  TIMESTAMPDIFF(MICROSECOND,'2022-02-01 10:30:27.000000','2022-02-01 10:30:27.123456') 
  AS 'Difference in Microseconds';

Hasil:

+----------------------------+
| Difference in Microseconds |
+----------------------------+
|                     123456 |
+----------------------------+

Contoh 5 – Hasil Negatif

Seperti yang diharapkan, jika argumen tanggal/waktu pertama lebih besar dari yang kedua, hasilnya akan berupa bilangan bulat negatif.

SELECT 
  TIMESTAMPDIFF(DAY,'2022-02-21','2022-02-01')
  AS 'Difference in Days';

Hasil:

+--------------------+
| Difference in Days |
+--------------------+
|                -20 |
+--------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyebarkan &Mengelola Cluster NDB MySQL dengan ClusterControl

  2. jQuery UI Diurutkan, lalu tulis pesanan ke dalam database

  3. ASP.NET menggunakan SqlConnection menghubungkan MySQL

  4. Mengurutkan berdasarkan urutan nilai dalam klausa SQL IN()

  5. Prosedur tersimpan MySQL vs fungsi, mana yang akan saya gunakan kapan?