Di MariaDB, MICROSECOND()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan porsi mikrodetik dari ekspresi waktu tertentu.
Ia menerima satu argumen, yaitu waktu yang Anda inginkan untuk mengekstrak mikrodetik.
Detik dikembalikan sebagai angka dalam rentang 0
ke 999999
.
Sintaks
Sintaksnya seperti ini:
MICROSECOND(time)
Dimana time
adalah ekspresi waktu untuk mendapatkan mikrodetik.
Contoh
Ini contohnya:
SELECT MICROSECOND('10:30:45.123456');
Hasil:
+--------------------------------+ | MICROSECOND('10:30:45.123456') | +--------------------------------+ | 123456 | +--------------------------------+
Ekspresi waktu berikut tidak secara eksplisit menyertakan mikrodetik:
SELECT MICROSECOND('10:30:45');
Hasil:
+-------------------------+ | MICROSECOND('10:30:45') | +-------------------------+ | 0 | +-------------------------+
Jadi hasilnya adalah 0
.
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT MICROSECOND('2030-02-01 10:30:45.123456');
Hasil:
+-------------------------------------------+ | MICROSECOND('2030-02-01 10:30:45.123456') | +-------------------------------------------+ | 123456 | +-------------------------------------------+
Nilai Tanggal
Melewati tanggal tanpa waktu mengembalikan 0
, bersama dengan peringatan.
Contoh:
SELECT MICROSECOND('2025-10-31');
Hasil:
+---------------------------+ | MICROSECOND('2025-10-31') | +---------------------------+ | 0 | +---------------------------+ 1 row in set, 1 warning (0.001 sec)
Kita dapat melihat peringatan tersebut dengan menjalankan kode berikut:
SHOW WARNINGS;
Hasil:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '2025-10-31' | +---------+------+----------------------------------------------+
Tanggal Saat Ini
Kita dapat melewati NOW()
sebagai argumen datetime untuk menggunakan waktu saat ini:
SELECT
NOW(6),
MICROSECOND(NOW(6));
Hasil:
+----------------------------+---------------------+ | NOW(6) | MICROSECOND(NOW(6)) | +----------------------------+---------------------+ | 2021-05-16 14:41:09.098168 | 98168 | +----------------------------+---------------------+
Dalam hal ini saya menetapkan bahwa NOW()
harus mengembalikan presisi pecahan 6
(yang membuatnya kembali mikrodetik).
Ini dia lagi dengan presisi yang lebih rendah:
SELECT
NOW(3),
MICROSECOND(NOW(3));
Hasil:
+-------------------------+---------------------+ | NOW(3) | MICROSECOND(NOW(3)) | +-------------------------+---------------------+ | 2021-05-16 14:42:35.831 | 831000 | +-------------------------+---------------------+
Argumen Tidak Valid
Ketika melewati argumen waktu yang tidak valid, MICROSECOND()
mengembalikan null
:
SELECT MICROSECOND('10:75:00.123456');
Hasil:
+--------------------------------+ | MICROSECOND('10:75:00.123456') | +--------------------------------+ | NULL | +--------------------------------+
Argumen Tidak Ada
Memanggil MICROSECOND()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT MICROSECOND();
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 MICROSECOND('10:30:45.123', '06:30:45.123');
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.123')' at line 1