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

Bagaimana FROM_UNIXTIME() Bekerja di MariaDB

Di MariaDB, FROM_UNIXTIME() adalah fungsi tanggal dan waktu bawaan yang mengembalikan nilai waktu-tanggal berdasarkan stempel waktu unix yang diberikan.

Anda meneruskan cap waktu unix ke fungsi saat Anda memanggilnya.

Hasilnya dikembalikan dalam 'YYYY-MM-DD HH:MM:SS' atau YYYYMMDDHHMMSS.uuuuuu format, tergantung pada apakah fungsi tersebut digunakan dalam konteks string atau numerik.

Nilainya dinyatakan dalam zona waktu saat ini.

Sintaks

Fungsi tersebut dapat digunakan dengan cara berikut:

FROM_UNIXTIME(unix_timestamp)
FROM_UNIXTIME(unix_timestamp,format)

Dimana unix_timestamp adalah cap waktu unix, dan format adalah string format opsional untuk memformat hasil.

Contoh

Ini contohnya:

SELECT FROM_UNIXTIME(1721428321);

Hasil:

+---------------------------+
| FROM_UNIXTIME(1721428321) |
+---------------------------+
| 2024-07-20 08:32:01       |
+---------------------------+

Mikrodetik

Berikut ini contoh yang menyertakan mikrodetik:

SELECT FROM_UNIXTIME(1721428321.123456);

Hasil:

+----------------------------------+
| FROM_UNIXTIME(1721428321.123456) |
+----------------------------------+
| 2024-07-20 08:32:01.123456       |
+----------------------------------+

Konteks Numerik

Saat menggunakan FROM_UNIXTIME() dalam konteks numerik, hasilnya dikembalikan dalam YYYYMMDDHHMMSS.uuuuuu format:

SELECT FROM_UNIXTIME(1721428321.123456) + 0;

Hasil:

+--------------------------------------+
| FROM_UNIXTIME(1721428321.123456) + 0 |
+--------------------------------------+
|                20240720083201.123456 |
+--------------------------------------+

Format Hasil

Berikut ini contoh meneruskan string format untuk memformat hasilnya:

SELECT FROM_UNIXTIME(1721428321, '%W, %D %M %Y');

Hasil:

+-------------------------------------------+
| FROM_UNIXTIME(1721428321, '%W, %D %M %Y') |
+-------------------------------------------+
| Saturday, 20th July 2024                  |
+-------------------------------------------+

Lihat MariaDB Date Format Strings untuk daftar format string yang dapat digunakan dengan FROM_UNIXTIME() fungsi.

Batas Stempel Waktu

Stempel waktu di MariaDB memiliki nilai maksimum 2147483647 . Ini karena batasan 32-bit yang mendasarinya. Menggunakan fungsi pada stempel waktu di luar ini menghasilkan null dikembalikan.

Berikut adalah contoh yang menunjukkan batasan ini:

SELECT 
    FROM_UNIXTIME(2147483647),
    FROM_UNIXTIME(2147483648);

Hasil:

+---------------------------+---------------------------+
| FROM_UNIXTIME(2147483647) | FROM_UNIXTIME(2147483648) |
+---------------------------+---------------------------+
| 2038-01-19 13:14:07       | NULL                      |
+---------------------------+---------------------------+

Zona waktu

Hasil dari FROM_UNIXTIME() dinyatakan dalam zona waktu saat ini.

Contoh berikut menggunakan stempel waktu unix yang sama dengan zona waktu yang berbeda:

SET time_zone = 'America/New_York';
SELECT FROM_UNIXTIME(2147483647);

Hasil:

+---------------------------+
| FROM_UNIXTIME(2147483647) |
+---------------------------+
| 2038-01-18 22:14:07       |
+---------------------------+

Beralih ke zona waktu lain dan jalankan lagi:

SET time_zone = 'Africa/Abidjan';
SELECT FROM_UNIXTIME(2147483647);

Hasil:

+---------------------------+
| FROM_UNIXTIME(2147483647) |
+---------------------------+
| 2038-01-19 03:14:07       |
+---------------------------+

Stempel Waktu Unix Saat Ini

Berikut adalah contoh yang menggunakan UNIX_TIMESTAMP() berfungsi untuk mengembalikan stempel waktu unix saat ini:

SELECT
    UNIX_TIMESTAMP(),
    FROM_UNIXTIME(UNIX_TIMESTAMP());

Hasil:

+------------------+---------------------------------+
| UNIX_TIMESTAMP() | FROM_UNIXTIME(UNIX_TIMESTAMP()) |
+------------------+---------------------------------+
|       1621734047 | 2021-05-23 11:40:47             |
+------------------+---------------------------------+

Argumen Tidak Ada

Memanggil FROM_UNIXTIME() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:

SELECT FROM_UNIXTIME();

Hasil:

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

Dan contoh lain:

SELECT FROM_UNIXTIME( 1, 2, 3 );

Hasil:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Mendapatkan Kumpulan Server di MariaDB

  2. Enkripsi MariaDB Penuh Saat Istirahat dan Dalam Perjalanan untuk Perlindungan Data Maksimum - Bagian Kedua

  3. Memindahkan Database MariaDB ke Status Terenkripsi dan Tidak Terenkripsi

  4. Bagaimana DATE() Bekerja di MariaDB

  5. Bagaimana TIDAK RLIKE Bekerja di MariaDB