Jawaban yang benar adalah SYSDATE () .
INSERT INTO servers (
server_name, online_status, exchange, disk_space,
network_shares, date_time
)
VALUES (
'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE', SYSDATE()
);
Kita dapat mengubah perilaku ini dan NOW()
berperilaku dengan cara yang sama seperti SYSDATE()
dengan mengatur argumen baris perintah sysdate_is_nowTrue
.
Perhatikan bahwa NOW()
(yang memiliki CURRENT_TIMESTAMP()
alias), berbeda SYSDATE()
dengan cara yang halus :
SYSDATE () mengembalikan waktu di mana ia dijalankan. Ini berbeda dari perilaku untuk SEKARANG (), yang mengembalikan waktu konstan yang menunjukkan waktu di mana pernyataan mulai dijalankan. (Di dalam fungsi atau pemicu yang tersimpan, SEKARANG () mengembalikan waktu di mana fungsi atau pernyataan pemicu mulai dijalankan.)
Seperti yang ditunjukkan oleh Erandi , yang terbaik adalah membuat tabel Anda dengan DEFAULT
klausa sehingga kolom akan terisi secara otomatis dengan cap waktu ketika Anda memasukkan baris baru:
date_time datetime NOT NULL DEFAULT SYSDATE()
Jika Anda ingin tanggal saat ini dalam format zaman , maka Anda dapat menggunakan UNIX_TIMESTAMP () . Sebagai contoh:
select now(3), sysdate(3), unix_timestamp();
akan menghasilkan
+-------------------------+-------------------------+------------------+
| now(3) | sysdate(3) | unix_timestamp() |
+-------------------------+-------------------------+------------------+
| 2018-11-27 01:40:08.160 | 2018-11-27 01:40:08.160 | 1543282808 |
+-------------------------+-------------------------+------------------+
Terkait: