В MariaDB, CURRENT_TIME
и CURRENT_TIME()
са синоними на CURTIME()
.
CURTIME()
функцията е вградена функция за дата и час, която връща текущото време.
Времето се връща в 'HH:MM:SS'
или HHMMSS.uuuuuu
формат, в зависимост от това дали функцията се използва в низов или числов контекст.
Синтаксис
CURRENT_TIME()
може да се използва по следните начини:
CURRENT_TIME
CURRENT_TIME([precision])
Където precision
е микросекундната точност.
Като алтернатива можете да извикате CURTIME()
така:
CURTIME([precision])
Пример
Ето един пример:
SELECT
CURRENT_TIME,
CURRENT_TIME(),
CURTIME();
Резултат:
+--------------+----------------+-----------+| CURRENT_TIME | CURRENT_TIME() | CURTIME() |+--------------+----------------+----------+| 09:59:13 | 09:59:13 | 09:59:13 |+--------------+----------------+----------- +
Можем да видим, че и трите връщат един и същ резултат.
Числов контекст
Когато се използва в числов контекст, полученото време е в HHMMSS.uuuuuu
формат.
Пример:
SELECT
CURRENT_TIME,
CURRENT_TIME + 0,
CURRENT_TIME() + 0;
Резултат:
+--------------+--------------+----------- --------+| CURRENT_TIME | CURRENT_TIME + 0 | CURRENT_TIME() + 0 |+--------------+-----------------+-------- -----------+| 10:00:29 | 100029 | 100029 |+--------------+-----------------+------------ -------+
Прецизност
Когато се използва с CURRENT_TIME([precision])
синтаксис, можете да посочите микросекундната точност за резултата.
Пример:
SELECT
CURRENT_TIME(3),
CURRENT_TIME(3) + 0;
Резултат:
+-----------------+---------------------+| CURRENT_TIME(3) | CURRENT_TIME(3) + 0 |+-----------------+---------------------+| 10:02:00.088 | 100200.088 |+----------------+---------------------+
Максималната стойност за микросекундната точност е 6. Ето какво се случва, когато се предаде по-голямо число за точността:
SELECT CURRENT_TIME(12);
Резултат:
ГРЕШКА 1426 (42000):Твърде голяма точност 12 е посочена за „curtime“. Максимумът е 6
Добавяне към текущото време
Има много начини за извършване на аритметика на дати и часове в MariaDB. Можете да използвате такива методи, за да добавите няколко дни, седмици, часове, минути и т.н.
Ето пример за използване на оператора за добавяне (+
), за да добавите 2 часа към времето:
SELECT
CURRENT_TIME,
CURRENT_TIME + INTERVAL 2 HOUR;
Резултат:
+--------------+------------------------------ -+| CURRENT_TIME | CURRENT_TIME + ИНТЕРВАЛ 2 ЧАС |+--------------+---------------------------- ----+| 10:04:19 | 12:04:19 |+--------------+---------------------------- ----+
Вижте също функции като ADDTIME()
за алтернативен начин за добавяне към текущото време.
Изваждане от текущото време
Ето пример за използване на оператора за изваждане (-
), за да извадите 2 часа от текущото време:
SELECT
CURTIME(),
CURTIME() - INTERVAL 2 HOUR;
Резултат:
+-----------+----------------------------+| CURTIME() | CURTIME() - ИНТЕРВАЛ 2 ЧАС |+-----------+---------------------------- +| 10:05:14 | 08:05:14 |+-----------+----------------------------+предварително>Вижте функции като
SUBTIME()
за алтернативен начин за изваждане от текущото време.