Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chuyển đổi ngày từ dd/mm/yyyy sang yyyymmdd trong MySQL

Dùng STR_TO_DATE parse chuỗi dd/mm/yyyy thành DATE, rồi DATE_FORMAT xuất ra yyyymmdd.

Cú pháp

SELECT DATE_FORMAT(STR_TO_DATE(cotNgay, '%d/%m/%Y'), '%Y%m%d') FROM tenBang;

Ví dụ

Tạo bảng cột varchar dd/mm/yyyy:

mysql> create table DemoTable ( 
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    Admissiondate varchar(200) 
); 
Query OK, 0 rows affected (0.54 sec)

Dữ liệu: '21/10/2014', '01/12/2016', '31/01/2017'

Chuyển đổi

mysql> select date_format(str_to_date(Admissiondate,'%d/%m/%Y'),'%Y%m%d') from DemoTable;
+-------------------------------------------------------------+
| date_format(str_to_date(Admissiondate,'%d/%m/%Y'),'%Y%m%d') |
+-------------------------------------------------------------+
| 20141021                                                    |
| 20161201                                                    |
| 20170131                                                    |
+-------------------------------------------------------------+

Format code:

  • %d - ngày (01-31)
  • %m - tháng (01-12)
  • %Y - năm 4 chữ số
  • %y - năm 2 chữ số

Lưu ý: STR_TO_DATE trả về NULL nếu chuỗi không khớp format. Nên validate dữ liệu trước khi chuyển đổi hàng loạt.