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

4 Fungsi yang Mengembalikan Bagian Detik dari Nilai Waktu di MariaDB

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

The SECOND() Fungsi

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

Contoh:

SELECT SECOND('03:45:30');

Hasil:

+--------------------+
| SECOND('03:45:30') |
+--------------------+
|                 30 |
+--------------------+

TIME nilai bisa dalam rentang '-838:59:59.999999' ke '838:59:59.999999' . Ini termasuk mikrodetik, tetapi SECOND() mengembalikan hanya bagian detik (ada MICROSECOND() fungsi untuk mengembalikan mikrodetik).

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

Berikut adalah nilai waktu negatif dengan bagian mikrodetik:

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

Hasil:

+-----------------------------+
| SECOND('-838:59:59.999999') |
+-----------------------------+
|                          59 |
+-----------------------------+

Bagian detik 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 detik (serta unit lain) dari nilai waktu.

Contoh:

SELECT EXTRACT(SECOND FROM '10:47:01');

Hasil:

+---------------------------------+
| EXTRACT(SECOND FROM '10:47:01') |
+---------------------------------+
|                               1 |
+---------------------------------+

TIME_FORMAT() Fungsi

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

Karena itu Anda dapat menggunakan fungsi ini untuk mengembalikan detik (serta menit dan jam) dari waktu.

%s dan %S penentu format keduanya mengembalikan detik dengan dua digit:

SELECT 
    TIME_FORMAT('10:07:30', '%s'),
    TIME_FORMAT('10:07:30', '%S');

Hasil:

+-------------------------------+-------------------------------+
| TIME_FORMAT('10:07:30', '%s') | TIME_FORMAT('10:07:30', '%S') |
+-------------------------------+-------------------------------+
| 30                            | 30                            |
+-------------------------------+-------------------------------+

Anda juga dapat menggunakan $f penentu format untuk mengembalikan enam digit sub detik:

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

Hasil:

+--------------+-----------+
| Microseconds | Both      |
+--------------+-----------+
| 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', '%s');

Hasil:

+------------------------------------------+
| DATE_FORMAT('2023-01-01 10:07:30', '%s') |
+------------------------------------------+
| 30                                       |
+------------------------------------------+

Melewati TIME nilai tidak berfungsi dengan fungsi ini:

SELECT DATE_FORMAT('10:07:30', '%s') AS '%s';

Hasil:

+------+
| %s   |
+------+
| 00   |
+------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah Umum Teratas dengan MHA dan Cara Memperbaikinya

  2. Bagaimana CAST() Bekerja di MariaDB

  3. Mempersiapkan Server MySQL atau MariaDB untuk Produksi - Bagian Satu

  4. Tips dan Trik untuk Menerapkan Kontrol Akses Berbasis Peran Database untuk MariaDB

  5. Bagaimana REGEXP_SUBSTR() Bekerja di MariaDB