Di MariaDB, TIME()
adalah fungsi tanggal dan waktu bawaan yang mengekstrak bagian waktu dari waktu atau ekspresi datetime tertentu dan mengembalikannya sebagai string.
Ia menerima satu argumen, yang merupakan nilai waktu atau tanggal waktu yang ingin Anda ekstrak waktunya.
Sintaks
Sintaksnya seperti ini:
TIME(expr)
Dimana expr
adalah ekspresi waktu atau datetime untuk mengekstrak waktu.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT TIME('2030-02-01 10:30:45');
Hasil:
+-----------------------------+ | TIME('2030-02-01 10:30:45') | +-----------------------------+ | 10:30:45 | +-----------------------------+
Nilai Waktu
Berikut adalah contoh yang mengekstrak waktu dari nilai waktu:
SELECT TIME('10:30:45');
Hasil:
+------------------+ | TIME('10:30:45') | +------------------+ | 10:30:45 | +------------------+
Mikrodetik
Berikut ini contoh yang menyertakan mikrodetik:
SELECT TIME('2030-02-01 10:30:45.123456');
Hasil:
+------------------------------------+ | TIME('2030-02-01 10:30:45.123456') | +------------------------------------+ | 10:30:45.123456 | +------------------------------------+
Jam Lebih Besar
TIME
nilai bisa dalam rentang '-838:59:59.999999'
ke '838:59:59.999999'
.
Oleh karena itu, porsi jam bisa jauh lebih tinggi dari 23
:
SELECT TIME('578:30:45');
Hasil:
+-------------------+ | TIME('578:30:45') | +-------------------+ | 578:30:45 | +-------------------+
Waktu Negatif
Waktu negatif berlaku:
Contoh
SELECT TIME('-578:30:45');
Hasil:
+--------------------+ | TIME('-578:30:45') | +--------------------+ | -578:30:45 | +--------------------+
Di Luar Jangkauan Jam
Nilai waktu di luar rentang '-838:59:59.999999'
ke '838:59:59.999999'
dibatasi pada batas yang relevan, dan menyertakan peringatan.
Contoh:
SELECT TIME('978:30:45');
Hasil (menggunakan keluaran vertikal):
+-------------------+ | TIME('978:30:45') | +-------------------+ | 838:59:59 | +-------------------+ 1 row in set, 1 warning (0.003 sec)
Mari kita periksa peringatannya:
SHOW WARNINGS;
Hasil (menggunakan keluaran vertikal):
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '978:30:45' | +---------+------+---------------------------------------------+
Tanggal Saat Ini
Kita dapat melewati NOW()
sebagai argumen datetime untuk menggunakan waktu saat ini:
SELECT
NOW(),
TIME(NOW());
Hasil:
+---------------------+-------------+ | NOW() | TIME(NOW()) | +---------------------+-------------+ | 2021-05-27 10:24:23 | 10:24:23 | +---------------------+-------------+
Argumen Tidak Valid
Ketika melewati argumen yang tidak valid, TIME()
mengembalikan null
dengan peringatan:
SELECT TIME('Ten Thirty AM');
Hasil:
+-----------------------+ | TIME('Ten Thirty AM') | +-----------------------+ | NULL | +-----------------------+ 1 row in set, 1 warning (0.002 sec)
Periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+---------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------+ | Warning | 1292 | Incorrect time value: 'Ten Thirty AM' | +---------+------+---------------------------------------+
Argumen Tidak Ada
Memanggil TIME()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT TIME();
Hasil:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
Dan contoh lain:
SELECT TIME('10:30:45', '06:30:45');
Hasil:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1