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

Как СЕГА() работи в MariaDB

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

Връщаната стойност се връща в 'YYYY-MM-DD HH:MM:SS' или YYYYMMDDHHMMSS.uuuuuu формат, в зависимост от това дали функцията се използва в низов или числов контекст.

Връщаната стойност се изразява в текущата часова зона.

Освен това имате възможност да посочите микросекундната точност.

Синтаксис

Синтаксисът е така:

NOW([precision])

Където precision е незадължителен аргумент, който определя микросекундната точност.

Също така има следните синоними:

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP([precision])
LOCALTIME
LOCALTIME([precision])
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])

Пример

Ето един пример:

SELECT NOW();

Резултат:

+---------------------+
| NOW()               |
+---------------------+
| 2021-05-09 10:12:39 |
+---------------------+

Числов контекст

Когато NOW() се използва в числов контекст, резултатът е в YYYYMMDDHHMMSS.uuuuuu формат.

Пример:

SELECT
    NOW(),
    NOW() + 0;

Резултат:

+---------------------+----------------+
| NOW()               | NOW() + 0      |
+---------------------+----------------+
| 2021-05-09 10:13:10 | 20210509101310 |
+---------------------+----------------+

Прецизност

Ето пример за определяне на микросекундна точност:

SELECT
    NOW(6),
    NOW(6) + 0;

Резултат:

+----------------------------+-----------------------+
| NOW(6)                     | NOW(6) + 0            |
+----------------------------+-----------------------+
| 2021-05-09 10:13:30.619522 | 20210509101330.619522 |
+----------------------------+-----------------------+

Максималната стойност за микросекундната точност е 6. Ето какво се случва, когато се предаде по-голямо число за точността:

SELECT NOW(12);

Резултат:

ERROR 1426 (42000): Too big precision 12 specified for 'current_timestamp'. Maximum is 6

Синоними

Както се вижда в синтаксиса по-горе, има куп синоними за NOW() .

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

SELECT 
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP(),
    LOCALTIME,
    LOCALTIME(),
    LOCALTIMESTAMP,
    LOCALTIMESTAMP();

Резултат (с помощта на вертикален изход):

  CURRENT_TIMESTAMP: 2021-05-09 10:24:53
CURRENT_TIMESTAMP(): 2021-05-09 10:24:53
          LOCALTIME: 2021-05-09 10:24:53
        LOCALTIME(): 2021-05-09 10:24:53
     LOCALTIMESTAMP: 2021-05-09 10:24:53
   LOCALTIMESTAMP(): 2021-05-09 10:24:53

Добавяне към текущата времева марка

Има много начини за извършване на аритметика на стойности за дата и час в MariaDB.

Ето пример за използване на оператора за добавяне (+ ), за да добавите 2 дни към датата:

SELECT 
    NOW(),
    NOW() + INTERVAL 2 DAY;

Резултат:

+---------------------+------------------------+
| NOW()               | NOW() + INTERVAL 2 DAY |
+---------------------+------------------------+
| 2021-05-09 10:17:39 | 2021-05-11 10:17:39    |
+---------------------+------------------------+

Вижте също функции като DATE_ADD() и ADDDATE() за алтернативен начин за добавяне към текущата дата.

Изваждане от текущата дата

Ето пример за използване на оператора за изваждане (- ), за да извадите 10 дни от текущата дата:

SELECT 
    NOW(),
    NOW() - INTERVAL 10 DAY;

Резултат:

+---------------------+-------------------------+
| NOW()               | NOW() - INTERVAL 10 DAY |
+---------------------+-------------------------+
| 2021-05-09 10:19:35 | 2021-04-29 10:19:35     |
+---------------------+-------------------------+

Вижте функции като DATE_SUB() и SUBDATE() за алтернативен начин за изваждане от текущата дата.


  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 JSON_TABLE() Обяснено

  2. Как работи PERIOD_ADD() в MariaDB

  3. MariaDB Backup &PostgreSQL в облака - ClusterControl Издание 1.6.1

  4. Как да архивирате вашата Moodle MariaDB база данни

  5. Проектиране на база данни 101:Дялове в MySQL