По умолчанию функции получения даты и времени возвращают значения с точностью до 1 микросекунды.
SELECT LOCALTIMESTAMP
# | localtimestamp |
---|---|
1 | 2022-12-07 10:48:14.159634 |
Для получения времени с другой точностью необходимо передать параметр в функцию. Параметр принимает значение от 0 до 6:
- 0 - с точностью до секунды
- 6 - с точностью до микросекунды.
SELECT 0 AS precision, LOCALTIMESTAMP(0)
UNION
SELECT 1 AS precision, LOCALTIMESTAMP(1)
UNION
SELECT 2 AS precision, LOCALTIMESTAMP(2)
UNION
SELECT 3 AS precision, LOCALTIMESTAMP(3)
UNION
SELECT 4 AS precision, LOCALTIMESTAMP(4)
UNION
SELECT 5 AS precision, LOCALTIMESTAMP(5)
UNION
SELECT 6 AS precision, LOCALTIMESTAMP(6)
ORDER BY 1
# | precision | localtimestamp |
---|---|---|
1 | 0 | 2022-12-07 11:18:41 |
2 | 1 | 2022-12-07 11:18:40.6 |
3 | 2 | 2022-12-07 11:18:40.64 |
4 | 3 | 2022-12-07 11:18:40.639 |
5 | 4 | 2022-12-07 11:18:40.639 |
6 | 5 | 2022-12-07 11:18:40.63902 |
7 | 6 | 2022-12-07 11:18:40.63902 |
Если передать значение больше 6, то результат будет возвращаться с точностью до микросекунд:
SELECT LOCALTIMESTAMP(8)
# | localtimestamp |
---|---|
1 | 2022-12-07 11:28:42.270627 |
Если передать отрицательное значение, то произойдет ошибка
SELECT LOCALTIMESTAMP(-1)
syntax error at or near "-"
Параметр точности можно передать в функции CURRENT_TIMESTAMP
, CURRENT_TIME
, LOCALTIMESTAMP
, LOCALTIME
.
Функция CURRENT_DATE
не имеет такого параметра.