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

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

В MariaDB, TIMESTAMP() е вградена функция за дата и час, която връща стойност за дата и час въз основа на нейния аргумент/и.

Може да се използва с един или два аргумента, както следва:

  • Когато се използва с един аргумент, той връща тази дата или израз за дата и час като стойност за дата и час.
  • Когато се използва с два аргумента, той добавя втория аргумент (време) към първия израз (дата или дата и час), след което връща получената стойност за дата и час.

Синтаксис

Може да се използва по следните два начина:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Където expr1 е израз за дата или време и expr2 е израз за време за добавяне към expr1 .

Пример

Ето пример за демонстрация:

SELECT TIMESTAMP('2030-02-01');

Резултат:

+-------------------------+
| TIMESTAMP('2030-02-01') |
+-------------------------+
| 2030-02-01 00:00:00     |
+-------------------------+

Стойности за дата и час

Ето пример за предаване на стойност за дата и час:

SELECT TIMESTAMP('2030-02-01 10:30:45');

Резултат:

+----------------------------------+
| TIMESTAMP('2030-02-01 10:30:45') |
+----------------------------------+
| 2030-02-01 10:30:45              |
+----------------------------------+

Втори аргумент

Ето пример, който добавя втория аргумент към първия:

SELECT TIMESTAMP('2030-02-01 10:30:45', '02:15:15');

Резултат:

+----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '02:15:15') |
+----------------------------------------------+
| 2030-02-01 12:46:00                          |
+----------------------------------------------+

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

Ето пример, който добавя микросекунди:

SELECT TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456');

Резултат:

+-----------------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456') |
+-----------------------------------------------------+
| 2030-02-01 10:30:45.123456                          |
+-----------------------------------------------------+

Отрицателни времена

Отрицателните времена са валидни:

Пример:

SELECT TIMESTAMP('2030-02-01 10:30:45', '-09:20:00');

Резултат:

+-----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '-09:20:00') |
+-----------------------------------------------+
| 2030-02-01 01:10:45                           |
+-----------------------------------------------+

Текуща дата

Можем да предадем NOW() като аргумент datetime, за да използвате текущата дата и час:

SELECT 
    NOW(),
    TIMESTAMP(NOW(), '10:30:45');

Резултат:

+---------------------+------------------------------+
| NOW()               | TIMESTAMP(NOW(), '10:30:45') |
+---------------------+------------------------------+
| 2021-05-28 09:25:09 | 2021-05-28 19:55:54          |
+---------------------+------------------------------+

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

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

SELECT TIMESTAMP('Ten Thirty AM');

Резултат:

+----------------------------+
| TIMESTAMP('Ten Thirty AM') |
+----------------------------+
| NULL                       |
+----------------------------+
1 row in set, 1 warning (0.004 sec)

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

SHOW WARNINGS;

Резултат:

+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Incorrect time value: 'Ten Thirty AM' |
+---------+------+---------------------------------------+

Липсващ аргумент

Извикване на TIMESTAMP() с грешен брой аргументи или без подаване на аргументи, води до грешка:

SELECT TIMESTAMP();

Резултат:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

И още един пример:

SELECT TIMESTAMP('2020-12-09', '06:30:45', '06:30:45');

Резултат:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1

  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. Как работи TRUNCATE() в MariaDB

  3. Как да инсталирате MariaDB на CentOS 7 / RHEL 7

  4. Как HEX() работи в MariaDB

  5. Поправка:„Неизвестна таблица „локали“ в information_schema“ в MariaDB