Sử dụng STR_TO_DATE() kết hợp DATE_FORMAT(). Tạo bảng:
mysql> create table DemoTable1985 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.00 sec)
Thêm dữ liệu:
mysql> insert into DemoTable1985 values('Jan 2017'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1985 values('May 2018'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1985 values('Aug 2015'); Query OK, 1 row affected (0.00 sec)
Hiển thị dữ liệu:
mysql> select * from DemoTable1985;
+----------+ | DueDate | +----------+ | Jan 2017 | | May 2018 | | Aug 2015 | +----------+ 3 rows in set (0.00 sec)
Truy vấn chuyển đổi sang ngày đầu tháng (YYYY-MM-01):
mysql> select date_format(str_to_date(DueDate, '%b %Y'), '%Y-%m-01') as Result from DemoTable1985;
Kết quả:
+------------+ | Result | +------------+ | 2017-01-01 | | 2018-05-01 | | 2015-08-01 | +------------+ 3 rows in set (0.00 sec)