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

TIMEDIFF() Contoh – MySQL

MySQL TIMEDIFF() fungsi mengembalikan perbedaan antara dua nilai waktu atau waktu.

Cara kerjanya adalah, Anda memberikan dua nilai untuk dibandingkan, dan TIMEDIFF() kurangi nilai kedua dari nilai pertama, lalu kembalikan hasilnya sebagai nilai waktu.

Sintaks

Sintaksnya seperti ini:

TIMEDIFF(expr1,expr2)

Dimana expr1 dan expr2 adalah dua nilai untuk dibandingkan. Nilai yang dikembalikan adalah expr2 dikurangi dari expr1 .

Contoh Dasar

Berikut ini contoh untuk didemonstrasikan.

SELECT TIMEDIFF('11:35:25', '10:35:25');

Hasil:

+----------------------------------+
| TIMEDIFF('11:35:25', '10:35:25') |
+----------------------------------+
| 01:00:00                         |
+----------------------------------+

Waktu yang Berlalu

Nilai waktu dapat mewakili waktu yang telah berlalu, jadi tidak terbatas pada kurang dari 24 jam.

SELECT TIMEDIFF('500:35:25', '10:35:25');

Hasil:

+-----------------------------------+
| TIMEDIFF('500:35:25', '10:35:25') |
+-----------------------------------+
| 490:00:00                         |
+-----------------------------------+

Perbedaan Waktu Negatif

Jika nilai kedua lebih besar dari yang pertama, Anda akan mendapatkan nilai negatif untuk perbedaan waktu. Ini benar-benar valid.

SELECT TIMEDIFF('10:35:25', '500:35:25');

Hasil:

+-----------------------------------+
| TIMEDIFF('10:35:25', '500:35:25') |
+-----------------------------------+
| -490:00:00                        |
+-----------------------------------+

Nilai Tanggal-waktu

Berikut adalah contoh yang menggunakan nilai datetime sebagai argumen.

SELECT TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25');

Hasil:

+--------------------------------------------------------+
| TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25') |
+--------------------------------------------------------+
| 744:00:00                                              |
+--------------------------------------------------------+

Perhatikan bahwa kedua argumen harus bertipe sama. Jadi Anda tidak dapat memiliki nilai waktu untuk yang pertama dan nilai waktu untuk yang kedua (dan sebaliknya).

Perhatikan juga bahwa tipe data waktu hanya dapat berada dalam rentang -838:59:59 ke 838:59:59 . Oleh karena itu, berikut ini tidak berfungsi:

SELECT TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25');

Hasil:

+--------------------------------------------------------+
| TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25') |
+--------------------------------------------------------+
| -838:59:59                                             |
+--------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

Dalam hal ini, kami mendapatkan hasil yang salah dan peringatan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysqli_connect():(HY000/1045):Akses ditolak untuk 'username'@'localhost' pengguna (menggunakan kata sandi:YA)

  2. Bagaimana cara mendapatkan hitungan setiap nilai berbeda dalam kolom?

  3. SQL UPDATE Syntax – Didaftarkan oleh DBMS

  4. Replikasi MySQL dan Failover Berbasis GTID - Menyelami Transaksi yang Salah

  5. Temukan nilai paling sering di kolom SQL