MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách HOUR () hoạt động trong MariaDB

Trong MariaDB, HOUR() là một hàm ngày và giờ được tích hợp sẵn để trả về giờ từ một biểu thức thời gian nhất định.

Nó chấp nhận một đối số, đó là thời gian bạn muốn trích xuất giờ.

Đối với giá trị thời gian trong ngày, nó trả về giờ dưới dạng một số trong phạm vi 0 thành 23 . Tuy nhiên, phạm vi TIME giá trị có thể lớn hơn nhiều và do đó, giá trị trả về có thể cao hơn nhiều so với 23 .

Giá trị trả về luôn là số dương, ngay cả khi cung cấp thời gian âm.

Cú pháp

Cú pháp như sau:

HOUR(time)

Nơi time là biểu thức thời gian để lấy giờ.

Ví dụ

Đây là một ví dụ:

SELECT HOUR('10:30:45');

Kết quả:

+------------------+
| HOUR('10:30:45') |
+------------------+
|               10 |
+------------------+

Giá trị ngày giờ

Nó cũng hoạt động với các giá trị ngày giờ:

SELECT HOUR('2030-02-01 10:30:45');

Kết quả:

+-----------------------------+
| HOUR('2030-02-01 10:30:45') |
+-----------------------------+
|                          10 |
+-----------------------------+

Giờ lớn hơn

TIME giá trị có thể nằm trong khoảng '-838:59:59.999999' thành '838:59:59.999999' .

Do đó, phần giờ có thể cao hơn nhiều so với 23 :

SELECT HOUR('578:30:45');

Kết quả:

+-------------------+
| HOUR('578:30:45') |
+-------------------+
|               578 |
+-------------------+

Lần tiêu cực

Thời gian tiêu cực trả về kết quả dương tính.

Ví dụ

SELECT HOUR('-578:30:45');

Kết quả:

+--------------------+
| HOUR('-578:30:45') |
+--------------------+
|                578 |
+--------------------+

Giờ ngoài phạm vi

Giá trị thời gian ngoài phạm vi '-838:59:59.999999' thành '838:59:59.999999' trả về 838 .

Ví dụ:

SELECT HOUR('978:30:45');

Kết quả (sử dụng đầu ra dọc):

+-------------------+
| HOUR('978:30:45') |
+-------------------+
|               838 |
+-------------------+

Ngày hiện tại

Chúng ta có thể chuyển NOW() làm đối số datetime để sử dụng thời gian hiện tại:

SELECT 
    NOW(),
    HOUR(NOW());

Kết quả:

+---------------------+-------------+
| NOW()               | HOUR(NOW()) |
+---------------------+-------------+
| 2021-05-16 10:50:02 |          10 |
+---------------------+-------------+

Đối số không hợp lệ

Khi truyền một đối số không hợp lệ, HOUR() trả về null :

SELECT HOUR('Ten Thirty AM');

Kết quả:

+-----------------------+
| HOUR('Ten Thirty AM') |
+-----------------------+
|                  NULL |
+-----------------------+

Thiếu đối số

Đang gọi HOUR() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào, dẫn đến lỗi:

SELECT HOUR();

Kết quả:

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

Và một ví dụ khác:

SELECT HOUR('10:30:45', '06:30:45');

Kết quả:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách TO_CHAR () hoạt động trong MariaDB

  2. Có gì mới trong MariaDB 10.4

  3. So sánh Giải pháp Oracle RAC HA với Galera Cluster cho MySQL hoặc MariaDB

  4. MariaDB LENGTHB () Giải thích

  5. Hiểu ảnh hưởng của độ trễ cao trong các giải pháp MySQL và MariaDB sẵn có cao