Di MariaDB, TIMESTAMP()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan nilai datetime, berdasarkan argumennya.
Ini dapat digunakan dengan satu atau dua argumen, sebagai berikut:
- Bila digunakan dengan satu argumen, ia mengembalikan ekspresi tanggal atau datetime tersebut sebagai nilai datetime.
- Bila digunakan dengan dua argumen, ia menambahkan argumen kedua (waktu) ke ekspresi pertama (tanggal atau waktu), lalu mengembalikan nilai waktu waktu yang dihasilkan.
Sintaks
Ini dapat digunakan dengan dua cara berikut:
TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)
Dimana expr1
adalah ekspresi tanggal atau datetime, dan expr2
adalah ekspresi waktu untuk ditambahkan ke expr1
.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT TIMESTAMP('2030-02-01');
Hasil:
+-------------------------+ | TIMESTAMP('2030-02-01') | +-------------------------+ | 2030-02-01 00:00:00 | +-------------------------+
Nilai Tanggal-waktu
Berikut ini contoh melewatkan nilai datetime:
SELECT TIMESTAMP('2030-02-01 10:30:45');
Hasil:
+----------------------------------+ | TIMESTAMP('2030-02-01 10:30:45') | +----------------------------------+ | 2030-02-01 10:30:45 | +----------------------------------+
Argumen Kedua
Berikut ini contoh yang menambahkan argumen kedua ke argumen pertama:
SELECT TIMESTAMP('2030-02-01 10:30:45', '02:15:15');
Hasil:
+----------------------------------------------+ | TIMESTAMP('2030-02-01 10:30:45', '02:15:15') | +----------------------------------------------+ | 2030-02-01 12:46:00 | +----------------------------------------------+
Mikrodetik
Berikut ini contoh yang menambahkan mikrodetik:
SELECT TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456');
Hasil:
+-----------------------------------------------------+ | TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456') | +-----------------------------------------------------+ | 2030-02-01 10:30:45.123456 | +-----------------------------------------------------+
Waktu Negatif
Waktu negatif berlaku:
Contoh:
SELECT TIMESTAMP('2030-02-01 10:30:45', '-09:20:00');
Hasil:
+-----------------------------------------------+ | TIMESTAMP('2030-02-01 10:30:45', '-09:20:00') | +-----------------------------------------------+ | 2030-02-01 01:10:45 | +-----------------------------------------------+
Tanggal Saat Ini
Kita dapat melewati NOW()
sebagai argumen datetime untuk menggunakan tanggal dan waktu saat ini:
SELECT
NOW(),
TIMESTAMP(NOW(), '10:30:45');
Hasil:
+---------------------+------------------------------+ | NOW() | TIMESTAMP(NOW(), '10:30:45') | +---------------------+------------------------------+ | 2021-05-28 09:25:09 | 2021-05-28 19:55:54 | +---------------------+------------------------------+
Argumen Tidak Valid
Saat memberikan argumen yang tidak valid, TIMESTAMP()
mengembalikan null
dengan peringatan:
SELECT TIMESTAMP('Ten Thirty AM');
Hasil:
+----------------------------+ | TIMESTAMP('Ten Thirty AM') | +----------------------------+ | NULL | +----------------------------+ 1 row in set, 1 warning (0.004 sec)
Periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+---------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------+ | Warning | 1292 | Incorrect time value: 'Ten Thirty AM' | +---------+------+---------------------------------------+
Argumen Tidak Ada
Memanggil TIMESTAMP()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT TIMESTAMP();
Hasil:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
Dan contoh lain:
SELECT TIMESTAMP('2020-12-09', '06:30:45', '06:30:45');
Hasil:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1