В MariaDB, LOCALTIMESTAMP
и LOCALTIMESTAMP()
са синоними на NOW()
.
NOW()
функцията е вградена функция за дата и час, която връща текущата дата и час.
Времето се връща в 'YYYY-MM-DD HH:MM:SS'
или YYYYMMDDHHMMSS.uuuuuu
формат, в зависимост от това дали функцията се използва в низов или числов контекст.
Синтаксис
LOCALTIMESTAMP()
може да се използва по следните начини:
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])
Където precision
е микросекундната точност.
Като алтернатива можете да извикате NOW()
така:
NOW([precision])
Пример
Ето един пример:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP(),
NOW();
Резултат:
+---------------------+---------------------+---------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | +---------------------+---------------------+---------------------+
Можем да видим, че и трите връщат един и същ резултат.
Числов контекст
Когато се използва в числов контекст, полученото време е в YYYYMMDDHHMMSS.uuuuuu
формат.
Пример:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP + 0,
LOCALTIMESTAMP() + 0;
Резултат:
+---------------------+--------------------+----------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + 0 | LOCALTIMESTAMP() + 0 | +---------------------+--------------------+----------------------+ | 2021-05-10 09:11:49 | 20210510091149 | 20210510091149 | +---------------------+--------------------+----------------------+
Прецизност
Когато се използва с LOCALTIMESTAMP([precision])
синтаксис, можете да посочите микросекундната точност за резултата.
Пример:
SELECT
LOCALTIMESTAMP(6),
LOCALTIMESTAMP(6) + 0;
Резултат:
+----------------------------+-----------------------+ | LOCALTIMESTAMP(6) | LOCALTIMESTAMP(6) + 0 | +----------------------------+-----------------------+ | 2021-05-10 09:12:09.119326 | 20210510091209.119326 | +----------------------------+-----------------------+
Максималната стойност за микросекундната точност е 6. Ето какво се случва, когато се предаде по-голямо число за точността:
SELECT LOCALTIMESTAMP(7);
Резултат:
ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6
Добавяне към текущата времева марка
Има много начини за извършване на аритметика на стойности за дата и час в MariaDB.
Ето пример за използване на оператора за добавяне (+
), за да добавите 2 дни към датата:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP + INTERVAL 2 DAY;
Резултат:
+---------------------+---------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + INTERVAL 2 DAY | +---------------------+---------------------------------+ | 2021-05-10 09:12:29 | 2021-05-12 09:12:29 | +---------------------+---------------------------------+
Вижте също функции като DATE_ADD()
и ADDDATE()
за алтернативен начин за добавяне към текущата дата.
Изваждане от текущата дата
Ето пример за използване на оператора за изваждане (-
), за да извадите 10 дни от текущата дата:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP - INTERVAL 10 DAY;
Резултат:
+---------------------+----------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP - INTERVAL 10 DAY | +---------------------+----------------------------------+ | 2021-05-10 09:12:45 | 2021-04-30 09:12:45 | +---------------------+----------------------------------+
Вижте функции като DATE_SUB()
и SUBDATE()
за алтернативен начин за изваждане от текущата дата.