Di MariaDB, HOUR()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan jam dari ekspresi waktu tertentu.
Ia menerima satu argumen, yaitu waktu yang Anda inginkan untuk mengekstrak jamnya.
Untuk nilai waktu hari, ini mengembalikan jam sebagai angka dalam rentang 0
ke 23
. Namun, rentang TIME
nilainya bisa jauh lebih besar, dan oleh karena itu, nilai yang dikembalikan bisa jauh lebih tinggi daripada 23
.
Nilai pengembalian selalu positif, meskipun waktu negatif disediakan.
Sintaks
Sintaksnya seperti ini:
HOUR(time)
Dimana time
adalah ekspresi waktu untuk mendapatkan jam.
Contoh
Ini contohnya:
SELECT HOUR('10:30:45');
Hasil:
+------------------+ | HOUR('10:30:45') | +------------------+ | 10 | +------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT HOUR('2030-02-01 10:30:45');
Hasil:
+-----------------------------+ | HOUR('2030-02-01 10:30:45') | +-----------------------------+ | 10 | +-----------------------------+
Jam Lebih Besar
TIME
nilai bisa dalam rentang '-838:59:59.999999'
ke '838:59:59.999999'
.
Oleh karena itu, porsi jam bisa jauh lebih tinggi dari 23
:
SELECT HOUR('578:30:45');
Hasil:
+-------------------+ | HOUR('578:30:45') | +-------------------+ | 578 | +-------------------+
Waktu Negatif
Waktu negatif mengembalikan hasil positif.
Contoh
SELECT HOUR('-578:30:45');
Hasil:
+--------------------+ | HOUR('-578:30:45') | +--------------------+ | 578 | +--------------------+
Di Luar Jangkauan Jam
Nilai waktu di luar rentang '-838:59:59.999999'
ke '838:59:59.999999'
kembalikan 838
.
Contoh:
SELECT HOUR('978:30:45');
Hasil (menggunakan keluaran vertikal):
+-------------------+ | HOUR('978:30:45') | +-------------------+ | 838 | +-------------------+
Tanggal Saat Ini
Kita dapat melewati NOW()
sebagai argumen datetime untuk menggunakan waktu saat ini:
SELECT
NOW(),
HOUR(NOW());
Hasil:
+---------------------+-------------+ | NOW() | HOUR(NOW()) | +---------------------+-------------+ | 2021-05-16 10:50:02 | 10 | +---------------------+-------------+
Argumen Tidak Valid
Saat memberikan argumen yang tidak valid, HOUR()
mengembalikan null
:
SELECT HOUR('Ten Thirty AM');
Hasil:
+-----------------------+ | HOUR('Ten Thirty AM') | +-----------------------+ | NULL | +-----------------------+
Argumen Tidak Ada
Memanggil HOUR()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT HOUR();
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 HOUR('10: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