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

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

Trong MariaDB, STR_TO_DATE() là một hàm ngày và giờ được tích hợp sẵn trả về giá trị ngày giờ, dựa trên chuỗi ngày tháng và chuỗi định dạng đã cho.

STR_TO_DATE() hàm là nghịch đảo của DATE_FORMAT() chức năng.

Cú pháp

Cú pháp như sau:

STR_TO_DATE(str,format)

Ở đâu str là chuỗi ngày và định dạng format là một chuỗi định dạng chỉ định định dạng của chuỗi ngày.

Ví dụ

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

SELECT STR_TO_DATE('Monday, May 24, 2021', '%W, %M %e, %Y');

Kết quả:

+------------------------------------------------------+
| STR_TO_DATE('Monday, May 24, 2021', '%W, %M %e, %Y') |
+------------------------------------------------------+
| 2021-05-24                                           |
+------------------------------------------------------+

Chuỗi định dạng bao gồm một số từ định dạng cho MariaDB biết ngày trong đối số đầu tiên được định dạng như thế nào. Xem Chuỗi định dạng MariaDB để biết danh sách các mã định dạng có thể được sử dụng trong chuỗi định dạng.

Trong ví dụ này, kết quả là giá trị ngày tháng, vì chuỗi định dạng chỉ chứa các phần ngày tháng.

Trả lại giá trị ngày giờ

Dưới đây là một ví dụ trả về giá trị ngày giờ:

SELECT STR_TO_DATE('May 24, 2021', '%M %e, %Y %H:%i:%S');

Kết quả:

+---------------------------------------------------+
| STR_TO_DATE('May 24, 2021', '%M %e, %Y %H:%i:%S') |
+---------------------------------------------------+
| 2021-05-24 00:00:00                               |
+---------------------------------------------------+

Trong ví dụ này, phần thời gian đã được thêm vào, mặc dù đối số đầu tiên không chứa phần thời gian.

Dưới đây là một ví dụ khác bao gồm một phần thời gian trong đối số đầu tiên:

SELECT 
STR_TO_DATE('10:30:45 on May 24, 2021', '%H:%i:%S on %M %e, %Y');

Kết quả:

+------------------------------------------------------------------+
| STR_TO_DATE('10:30:45 on May 24, 2021', '%H:%i:%S on %M %e, %Y') |
+------------------------------------------------------------------+
| 2021-05-24 10:30:45                                              |
+------------------------------------------------------------------+

Đây là một cái khác, trong đó chuỗi ngày sử dụng giá trị thời gian lỏng hơn:

SELECT 
STR_TO_DATE('10.30pm on May 24, 2021', '%H.%ipm on %M %e, %Y');

Kết quả:

+----------------------------------------------------------------+
| STR_TO_DATE('10.30pm on May 24, 2021', '%H.%ipm on %M %e, %Y') |
+----------------------------------------------------------------+
| 2021-05-24 10:30:00                                            |
+----------------------------------------------------------------+

Trả lại giá trị thời gian

Ở đây, chúng tôi thay đổi chuỗi định dạng để chỉ trả về giá trị thời gian:

SELECT STR_TO_DATE('10:30:45 on May 24, 2021', '%H:%i:%S');

Kết quả:

+-----------------------------------------------------+
| STR_TO_DATE('10:30:45 on May 24, 2021', '%H:%i:%S') |
+-----------------------------------------------------+
| 10:30:45                                            |
+-----------------------------------------------------+

Chuỗi ngày / giờ không hợp lệ

Chuyển một chuỗi ngày không hợp lệ trả về null với một cảnh báo.

Ví dụ:

SELECT STR_TO_DATE('Humpday, May 26, 2021', '%W, %M %e, %Y');

Kết quả:

+-------------------------------------------------------+
| STR_TO_DATE('Humpday, May 26, 2021', '%W, %M %e, %Y') |
+-------------------------------------------------------+
| NULL                                                  |
+-------------------------------------------------------+
1 row in set, 1 warning (0.009 sec)

Hãy xem cảnh báo:

SHOW WARNINGS;

Kết quả:

+---------+------+----------------------------------------------------------------------------+
| Level   | Code | Message                                                                    |
+---------+------+----------------------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: 'Humpday, May 26, 2021' for function str_to_date |
+---------+------+----------------------------------------------------------------------------+

Thiếu đối số

Đang gọi STR_TO_DATE() 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 STR_TO_DATE();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STR_TO_DATE'

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

SELECT STR_TO_DATE('Friday, 28 May 2021');

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STR_TO_DATE'

  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ân nhắc về mã hóa cho dữ liệu ở trạng thái nghỉ cho MariaDB

  2. Chuẩn bị máy chủ MySQL hoặc MariaDB để sản xuất - Phần thứ nhất

  3. Xây dựng cơ sở dữ liệu khả dụng cao cho Moodle bằng MariaDB (Replication &MariaDB Cluster)

  4. Nâng cấp lên Jira mới nhất với phiên bản mới nhất của máy chủ MariaDB

  5. Có gì mới trong MariaDB Server 10.5?