Правильна відповідь - SYSDATE () .
INSERT INTO servers (
server_name, online_status, exchange, disk_space,
network_shares, date_time
)
VALUES (
'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE', SYSDATE()
);
Ми можемо змінити цю поведінку і змусити NOW()
себе поводитись так само, як SYSDATE()
встановивши аргумент командного рядка sysdate_is_now на True
.
Слід зазначити , що NOW()
(який має в CURRENT_TIMESTAMP()
якості псевдоніма), відрізняється від SYSDATE()
в тонкому чином:
SYSDATE () повертає час, коли воно виконується. Це відрізняється від поведінки для NOW (), який повертає постійний час, який вказує час, коли оператор почав виконуватись. (У межах збереженої функції або тригера, NOW () повертає час, коли функція або оператор запуску почала виконуватись.)
Як зазначає Еранді , найкраще створити свою таблицю із DEFAULT
пунктом, щоб стовпець автоматично заповнювався часовою позначкою , коли ви вставляєте новий рядок:
date_time datetime NOT NULL DEFAULT SYSDATE()
Якщо ви хочете, щоб поточна дата була у форматі епохи , тоді ви можете використовувати UNIX_TIMESTAMP () . Наприклад:
select now(3), sysdate(3), unix_timestamp();
дасть урожай
+-------------------------+-------------------------+------------------+
| now(3) | sysdate(3) | unix_timestamp() |
+-------------------------+-------------------------+------------------+
| 2018-11-27 01:40:08.160 | 2018-11-27 01:40:08.160 | 1543282808 |
+-------------------------+-------------------------+------------------+
Пов'язані: