Computer >> Máy Tính >  >> Lập trình >> MySQL

Kết quả sẽ ra sao nếu chúng ta cố gắng trích xuất các giá trị thời gian bằng cách chỉ cung cấp các giá trị ngày cho hàm EXTRACT () của MySQL?


Khi chúng tôi cố gắng trích xuất giá trị giờ từ một ngày, thì hàm EXTRACT () sẽ đưa ra kết quả đầu ra là 0 với một cảnh báo như được hiển thị trong ví dụ bên dưới -

mysql> Select EXTRACT(Hour from '2017-10-20');

+---------------------------------+
| EXTRACT(Hour from '2017-10-20') |
+---------------------------------+
| 0                               |
+---------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> Show Warnings;

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2017-10-20' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

Bây giờ, khi chúng tôi cố gắng trích xuất giá trị phút từ một ngày, thì hàm EXTRACT () sẽ cung cấp giá trị của thế kỷ từ ngày làm đầu ra với cảnh báo như được hiển thị trong ví dụ bên dưới -

mysql> Select EXTRACT(Minute from '2017-10-20');
+-----------------------------------+
| EXTRACT(Minute from '2017-10-20') |
+-----------------------------------+
| 20                                |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> Show Warnings;
+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2017-10-20' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

Bây giờ, khi chúng tôi cố gắng trích xuất giá trị giây từ một ngày, thì hàm EXTRACT () sẽ cung cấp giá trị của năm dưới dạng đầu ra với một cảnh báo như được hiển thị trong ví dụ dưới đây -

mysql> Select Extract(Second from '2017-10-20');

+-----------------------------------+
| Extract(Second from '2017-10-20') |
+-----------------------------------+
| 17                                |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> Show Warnings;

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2017-10-20' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

Chúng tôi sẽ nhận được kết quả tương tự khi cố gắng lấy các giá trị thời gian (Giờ, Phút &Giây) từ ngày hiện tại, tức là bằng cách sử dụng Curdate () tại vị trí của ngày.