Trong MariaDB, LOCALTIME
và LOCALTIME()
là từ đồng nghĩa của NOW()
.
NOW()
là một hàm ngày và giờ được tích hợp sẵn để trả về ngày và giờ hiện tại.
Thời gian được trả về trong 'YYYY-MM-DD HH:MM:SS'
hoặc YYYYMMDDHHMMSS.uuuuuu
định dạng, tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.
Cú pháp
LOCALTIME()
có thể được sử dụng theo những cách sau:
LOCALTIME
LOCALTIME([precision])
Trong đó precision
là độ chính xác micro giây.
Ngoài ra, bạn có thể gọi NOW()
như thế này:
NOW([precision])
Ví dụ
Đây là một ví dụ:
SELECT
LOCALTIME,
LOCALTIME(),
NOW();
Kết quả:
+---------------------+---------------------+---------------------+ | LOCALTIME | LOCALTIME() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-10 09:06:38 | 2021-05-10 09:06:38 | 2021-05-10 09:06:38 | +---------------------+---------------------+---------------------+
Chúng ta có thể thấy rằng cả ba đều trả về cùng một kết quả.
Ngữ cảnh dạng số
Khi được sử dụng trong ngữ cảnh số, thời gian kết quả là YYYYMMDDHHMMSS.uuuuuu
định dạng.
Ví dụ:
SELECT
LOCALTIME,
LOCALTIME + 0,
LOCALTIME() + 0;
Kết quả:
+---------------------+----------------+-----------------+ | LOCALTIME | LOCALTIME + 0 | LOCALTIME() + 0 | +---------------------+----------------+-----------------+ | 2021-05-10 09:06:54 | 20210510090654 | 20210510090654 | +---------------------+----------------+-----------------+
Độ chính xác
Khi được sử dụng với LOCALTIME([precision])
cú pháp, bạn có thể chỉ định độ chính xác micro giây cho kết quả.
Ví dụ:
SELECT
LOCALTIME(6),
LOCALTIME(6) + 0;
Kết quả:
+----------------------------+-----------------------+ | LOCALTIME(6) | LOCALTIME(6) + 0 | +----------------------------+-----------------------+ | 2021-05-10 09:07:09.717031 | 20210510090709.717031 | +----------------------------+-----------------------+
Giá trị tối đa cho độ chính xác micro giây là 6. Đây là điều xảy ra khi một số cao hơn được chuyển cho độ chính xác:
SELECT LOCALTIME(7);
Kết quả:
ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6
Thêm vào Dấu thời gian Hiện tại
Có nhiều cách để thực hiện số học trên các giá trị ngày giờ trong MariaDB.
Dưới đây là một ví dụ về việc sử dụng toán tử cộng (+
) để thêm 2 ngày vào ngày:
SELECT
LOCALTIME,
LOCALTIME + INTERVAL 2 DAY;
Kết quả:
+---------------------+----------------------------+ | LOCALTIME | LOCALTIME + INTERVAL 2 DAY | +---------------------+----------------------------+ | 2021-05-10 09:07:42 | 2021-05-12 09:07:42 | +---------------------+----------------------------+
Cũng xem các hàm như DATE_ADD()
và ADDDATE()
để có một cách thay thế để thêm vào ngày hiện tại.
Trừ ngày hiện tại
Dưới đây là một ví dụ về việc sử dụng toán tử trừ (-
) trừ đi 10 ngày kể từ ngày hiện tại:
SELECT
LOCALTIME,
LOCALTIME - INTERVAL 10 DAY;
Kết quả:
+---------------------+-----------------------------+ | LOCALTIME | LOCALTIME - INTERVAL 10 DAY | +---------------------+-----------------------------+ | 2021-05-10 09:07:58 | 2021-04-30 09:07:58 | +---------------------+-----------------------------+
Xem các hàm như DATE_SUB()
và SUBDATE()
để có một cách khác để trừ ngày hiện tại.