MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи UNIX_TIMESTAMP() в MariaDB

В MariaDB, UNIX_TIMESTAMP() е вградена функция за дата и час, която връща времеви печат на Unix въз основа на неговия аргумент (или липса на аргумент).

Работи така:

  • При обаждане без аргумент, той връща времеви печат на Unix (секунди от „1970-01-01 00:00:00“ UTC) като цяло число без знак.
  • При обаждане с аргумент, той връща стойността на аргумента като секунди от „1970-01-01 00:00:00“ UTC.

Обратната функция на UNIX_TIMESTAMP() е FROM_UNIXTIME() .

Синтаксис

UNIX_TIMESTAMP() може да се извика по следните два начина:

UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)

Където date е низ от дата, низ за дата и час, времеви печат или число във формат YYMMDD или YYYYMMDD .

Пример – Без аргумент

Ето пример за извикване на UNIX_TIMESTAMP() без аргумент:

SELECT UNIX_TIMESTAMP();

Резултат:

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

Това ни казва, че когато изпълних това изявление, са минали 1622502492 секунди от 1970-01-01 00:00:00.

Пример – с аргумент

Ето пример с аргумент:

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

Резултат:

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

В следващия пример извиквам UNIX_TIMESTAMP() два пъти; веднъж без аргумент и веднъж с NOW() като аргумент.

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

Резултат:

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

Низ за дата и час

В горния пример NOW() връща стойност за дата и час.

В този пример изрично предоставям низ за дата и час:

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

Резултат:

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

Микросекунди

UNIX_TIMESTAMP() поддържа микросекунди:

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

Резултат:

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

Числови дати

Поддържат се числови дати:

SELECT UNIX_TIMESTAMP(20201030);

Резултат:

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

Невалиден аргумент

Когато се подадат невалидни аргументи, UNIX_TIMESTAMP() връща null с предупреждение:

SELECT UNIX_TIMESTAMP('Homer');

Резултат:

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

Проверете предупреждението:

SHOW WARNINGS;

Резултат:

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

Твърде много аргументи

Извикване на UNIX_TIMESTAMP() с твърде много аргументи води до грешка:

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

Резултат:

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. Пълен списък с набори от символи, поддържани от MariaDB

  2. Сравняване на облачните предложения на Galera Cluster:Част първа Amazon AWS

  3. 4 функции за връщане на месеца от дата в MariaDB

  4. Какво заслужават нашите клиенти:Представяне на MariaDB Enterprise Documentation

  5. MariaDB CONNECTION_ID() Обяснено