Di MariaDB, NOW()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan tanggal dan waktu saat ini.
Nilai yang dikembalikan ditampilkan dalam 'YYYY-MM-DD HH:MM:SS'
atau YYYYMMDDHHMMSS.uuuuuu
format, tergantung pada apakah fungsi tersebut digunakan dalam konteks string atau numerik.
Nilai kembalian dinyatakan dalam zona waktu saat ini.
Anda juga memiliki opsi untuk menentukan presisi mikrodetik.
Sintaks
Sintaksnya seperti ini:
NOW([precision])
Dimana precision
adalah argumen opsional yang menentukan presisi mikrodetik.
Ini juga memiliki sinonim berikut:
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP([precision])
LOCALTIME
LOCALTIME([precision])
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])
Contoh
Ini contohnya:
SELECT NOW();
Hasil:
+---------------------+ | NOW() | +---------------------+ | 2021-05-09 10:12:39 | +---------------------+
Konteks Numerik
Ketika NOW()
digunakan dalam konteks numerik, hasilnya dalam YYYYMMDDHHMMSS.uuuuuu
formatnya.
Contoh:
SELECT
NOW(),
NOW() + 0;
Hasil:
+---------------------+----------------+ | NOW() | NOW() + 0 | +---------------------+----------------+ | 2021-05-09 10:13:10 | 20210509101310 | +---------------------+----------------+
Presisi
Berikut adalah contoh untuk menentukan presisi mikrodetik:
SELECT
NOW(6),
NOW(6) + 0;
Hasil:
+----------------------------+-----------------------+ | NOW(6) | NOW(6) + 0 | +----------------------------+-----------------------+ | 2021-05-09 10:13:30.619522 | 20210509101330.619522 | +----------------------------+-----------------------+
Nilai maksimum untuk presisi mikrodetik adalah 6. Inilah yang terjadi ketika angka yang lebih tinggi dilewatkan untuk presisi:
SELECT NOW(12);
Hasil:
ERROR 1426 (42000): Too big precision 12 specified for 'current_timestamp'. Maximum is 6
Sinonim
Seperti yang terlihat pada sintaks di atas, ada banyak sinonim untuk NOW()
.
Berikut adalah contoh yang menggunakan berbagai sinonim:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP(),
LOCALTIME,
LOCALTIME(),
LOCALTIMESTAMP,
LOCALTIMESTAMP();
Hasil (menggunakan keluaran vertikal):
CURRENT_TIMESTAMP: 2021-05-09 10:24:53 CURRENT_TIMESTAMP(): 2021-05-09 10:24:53 LOCALTIME: 2021-05-09 10:24:53 LOCALTIME(): 2021-05-09 10:24:53 LOCALTIMESTAMP: 2021-05-09 10:24:53 LOCALTIMESTAMP(): 2021-05-09 10:24:53
Menambahkan ke Stempel Waktu Saat Ini
Ada banyak cara untuk melakukan aritmatika pada nilai datetime di MariaDB.
Berikut ini contoh penggunaan operator penjumlahan (+
) untuk menambahkan 2 hari ke tanggal:
SELECT
NOW(),
NOW() + INTERVAL 2 DAY;
Hasil:
+---------------------+------------------------+ | NOW() | NOW() + INTERVAL 2 DAY | +---------------------+------------------------+ | 2021-05-09 10:17:39 | 2021-05-11 10:17:39 | +---------------------+------------------------+
Lihat juga fungsi seperti DATE_ADD()
dan ADDDATE()
untuk cara alternatif untuk menambahkan tanggal saat ini.
Mengurangkan dari Tanggal Saat Ini
Berikut adalah contoh penggunaan operator pengurangan (-
) untuk mengurangi 10 hari dari tanggal saat ini:
SELECT
NOW(),
NOW() - INTERVAL 10 DAY;
Hasil:
+---------------------+-------------------------+ | NOW() | NOW() - INTERVAL 10 DAY | +---------------------+-------------------------+ | 2021-05-09 10:19:35 | 2021-04-29 10:19:35 | +---------------------+-------------------------+
Lihat fungsi seperti DATE_SUB()
dan SUBDATE()
untuk cara alternatif untuk mengurangi dari tanggal saat ini.