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

Bagaimana UNIX_TIMESTAMP() Bekerja di MariaDB

Di MariaDB, UNIX_TIMESTAMP() adalah fungsi tanggal dan waktu bawaan yang mengembalikan stempel waktu Unix, berdasarkan argumennya (atau kurangnya argumen).

Ini bekerja seperti ini:

  • Saat dipanggil tanpa argumen, ia mengembalikan stempel waktu Unix (detik sejak '1970-01-01 00:00:00' UTC) sebagai bilangan bulat yang tidak ditandatangani.
  • Saat dipanggil dengan argumen, ia mengembalikan nilai argumen sebagai detik sejak '1970-01-01 00:00:00' UTC.

Fungsi kebalikan dari UNIX_TIMESTAMP() adalah FROM_UNIXTIME() .

Sintaks

UNIX_TIMESTAMP() dapat dipanggil dengan dua cara berikut:

UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)

Dimana date adalah string tanggal, string datetime, cap waktu, atau angka dalam format YYMMDD atau YYYYMMDD .

Contoh – Tanpa Argumen

Berikut ini contoh pemanggilan UNIX_TIMESTAMP() tanpa argumen:

SELECT UNIX_TIMESTAMP();

Hasil:

+------------------+
| UNIX_TIMESTAMP() |
+------------------+
|       1622502492 |
+------------------+

Ini memberitahu kita bahwa ketika saya menjalankan pernyataan itu, 1622502492 detik telah berlalu sejak 1970-01-01 00:00:00.

Contoh – Dengan Argumen

Berikut ini contoh dengan argumen:

SELECT UNIX_TIMESTAMP('1970-01-02');

Hasil:

+------------------------------+
| UNIX_TIMESTAMP('1970-01-02') |
+------------------------------+
|                        50400 |
+------------------------------+

Dalam contoh berikut, saya memanggil UNIX_TIMESTAMP() dua kali; sekali tanpa argumen, dan sekali dengan NOW() sebagai argumen.

SELECT 
    UNIX_TIMESTAMP(),
    UNIX_TIMESTAMP(NOW());

Hasil:

+------------------+-----------------------+
| UNIX_TIMESTAMP() | UNIX_TIMESTAMP(NOW()) |
+------------------+-----------------------+
|       1622502678 |            1622502678 |
+------------------+-----------------------+

String Tanggal-waktu

Dalam contoh di atas, NOW() mengembalikan nilai datetime.

Dalam contoh ini, saya secara eksplisit memberikan string datetime:

SELECT UNIX_TIMESTAMP('2020-10-30 10:23:47');

Hasil:

+---------------------------------------+
| UNIX_TIMESTAMP('2020-10-30 10:23:47') |
+---------------------------------------+
|                            1604017427 |
+---------------------------------------+

Mikrodetik

UNIX_TIMESTAMP() mendukung mikrodetik:

SELECT UNIX_TIMESTAMP('2020-10-30 10:23:47.123456');

Hasil:

+----------------------------------------------+
| UNIX_TIMESTAMP('2020-10-30 10:23:47.123456') |
+----------------------------------------------+
|                            1604017427.123456 |
+----------------------------------------------+

Tanggal Numerik

Tanggal numerik didukung:

SELECT UNIX_TIMESTAMP(20201030);

Hasil:

+--------------------------+
| UNIX_TIMESTAMP(20201030) |
+--------------------------+
|               1603980000 |
+--------------------------+

Argumen Tidak Valid

Saat melewati argumen yang tidak valid, UNIX_TIMESTAMP() mengembalikan null dengan peringatan:

SELECT UNIX_TIMESTAMP('Homer');

Hasil:

+-------------------------+
| UNIX_TIMESTAMP('Homer') |
+-------------------------+
|                    NULL |
+-------------------------+
1 row in set, 1 warning (0.001 sec)

Periksa peringatannya:

SHOW WARNINGS;

Hasil:

+---------+------+-------------------------------+
| Level   | Code | Message                       |
+---------+------+-------------------------------+
| Warning | 1292 | Incorrect time value: 'Homer' |
+---------+------+-------------------------------+

Terlalu Banyak Argumen

Memanggil UNIX_TIMESTAMP() dengan terlalu banyak argumen menghasilkan kesalahan:

SELECT UNIX_TIMESTAMP('1970-01-02', '1970-01-03');

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UNIX_TIMESTAMP'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menginstal MariaDB 10.1 di Debian Jessie dan Menjalankan Berbagai Kueri MariaDB

  2. Pemulihan Bencana Cloud untuk MariaDB dan MySQL

  3. Bagaimana ROUND() Bekerja di MariaDB

  4. ClusterControl:Pengantar Monitor Kueri Baru

  5. COUNT() Fungsi di MariaDB