MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

4 Fungsi yang Mengekstrak Mikrodetik dari Nilai Waktu di MariaDB

Di bawah ini adalah 4 fungsi yang memungkinkan Anda mengembalikan bagian mikrodetik dari nilai waktu di MariaDB.

MICROSECOND() Fungsi

MICROSECOND() fungsi mengembalikan bagian mikrodetik dari TIME yang diberikan atau DATETIME ekspresi. Ia menerima satu argumen, yaitu waktu yang Anda inginkan untuk mengekstrak mikrodetik.

Contoh:

SELECT MICROSECOND('10:45:30.123456'); 

Hasil:

+--------------------------------+| MIKROSKON('10:45:30.123456') |+--------------------------------+| 123456 |+--------------------------------+

TIME nilai bisa dalam rentang '-838:59:59.999999' ke '838:59:59.999999' .

TIME nilai juga bisa negatif. Dalam kasus seperti itu, MICROSECOND() mengembalikan nilai positif.

Berikut adalah nilai waktu negatif dengan bagian mikrodetik:

SELECT MICROSECOND('-838:59:59.999999'); 

Hasil:

+----------------------------------+| MICROSECOND('-838:59:59.999999') |+----------------------------------+| 999999 |+----------------------------------+

Bagian mikrodetik diekstraksi seperti yang diharapkan.

EXTRACT() Fungsi

EXTRACT() fungsi memungkinkan Anda untuk mengekstrak unit tertentu dari nilai tanggal/waktu. Oleh karena itu, Anda dapat menggunakannya untuk mengekstrak mikrodetik (serta unit lain) dari nilai waktu.

Contoh:

SELECT EXTRACT(MICROSECOND FROM '10:45:30.123456'); 

Hasil:

+------------------------------------------------+ | EKSTRAK(MICROSECOND DARI '10:45:30.123456') |+------------------------------------ ---------+| 123456 |+--------------------------------------------+ 

TIME_FORMAT() Fungsi

TIME_FORMAT() fungsi memungkinkan Anda untuk memformat nilai waktu berdasarkan string format. String format menentukan bagaimana waktu harus diformat.

Oleh karena itu, Anda dapat menggunakan fungsi ini untuk mengembalikan mikrodetik (serta jam, menit, dan detik) dari waktu.

%f penentu format mengembalikan mikrodetik:

SELECT TIME_FORMAT('10:07:30.003456', '%f'); 

Hasil:

+--------------------------------------+| TIME_FORMAT('10:07:30.003456', '%f') |+--------------------------------- -----+| 003456 |+---------------------------------------+

Anda juga dapat menggunakan $s atau $S penentu format untuk mengembalikan bagian detik:

SELECT 
    TIME_FORMAT('10:07:30.123456', '%s') AS "Seconds",
    TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds",
    TIME_FORMAT('10:07:30.123456', '%s.%f') AS "Both"; 

Hasil:

+---------+--------------+-----------+| Detik | Mikrodetik | Keduanya |+---------+--------------+-----------+| 30 | 123456 | 30.123456 |+---------+--------------+-----------+

TIME_FORMAT() fungsi menerima subset format string yang dapat digunakan dengan DATE_FORMAT() fungsi. Lihat MariaDB Format Strings untuk daftar lengkap format string/specifier yang dapat digunakan dengan DATE_FORMAT() . TIME_FORMAT() fungsi hanya menerima penentu format untuk jam, menit, dan detik/sub detik. Penentu format lainnya menghasilkan null atau 0 dikembalikan.

DATE_FORMAT() Fungsi

DATE_FORMAT() fungsi memungkinkan Anda untuk memformat tanggal atau nilai datetime berdasarkan string format. String format menentukan bagaimana tanggal/waktu harus diformat.

Oleh karena itu, kami dapat menggunakan penentu format yang sama dengan yang kami gunakan dengan TIME_FORMAT() fungsi pada contoh sebelumnya. Namun, DATE_FORMAT() tidak menerima TIME nilai, jadi kita harus melewati DATETIME nilai.

SELECT DATE_FORMAT('2023-01-01 10:07:30.007123', '%f'); 

Hasil:

+------------------------------------------------- ---+| DATE_FORMAT('2023-01-01 10:07:30.007123', '%f') |+---------------------------- ----------+| 007123 |+----------------------------------------------- --+

Melewati TIME nilai tidak berfungsi dengan fungsi ini:

SELECT DATE_FORMAT('10:07:30.007123', '%f'); 

Hasil:

+--------------------------------------+| DATE_FORMAT('10:07:30.007123', '%f') |+--------------------------------- -----+| NULL |+-------------------------------------------------+1 baris di set, 1 peringatan ( 0,003 detik)

Mari kita lihat peringatannya:

SHOW WARNINGS; 

Hasil:

+---------+------+----------------------------- ----------------+| tingkat | Kode | Pesan |+---------+-------+--------------------------------------- ---------------+| Peringatan | 1292 | Nilai tanggal waktu salah:'10:07:30.007123' |+---------+------+-------------------- -------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 8 Cara Menambahkan Hari ke Tanggal di MariaDB

  2. Perbaiki "ERROR 1054 (42S22):Kolom tidak dikenal '...' di 'pada klausa" di MariaDB

  3. MariaDB JSON_INSERT() Dijelaskan

  4. Bagaimana UPDATEXML() Bekerja di MariaDB

  5. Bagaimana ACOS() Bekerja di MariaDB