Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีง่ายที่สุดในการ INSERT วันที่ใน MySQL

ใช้ STR_TO_DATE() แปลงสตริงวันที่เป็น DATE

ไวยากรณ์

select str_to_date(yourColumnName, '%b %Y') from yourTableName;

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( JoiningYear varchar(20) ); 
Query OK, 0 rows affected (0.69 sec)
mysql> insert into DemoTable values('Jan 2018'); 
Query OK, 1 row affected (0.12 sec) 
mysql> insert into DemoTable values('May 2107'); 
Query OK, 1 row affected (0.32 sec) 
mysql> insert into DemoTable values('Aug 2019'); 
Query OK, 1 row affected (0.12 sec) 
mysql> insert into DemoTable values('Oct 2020'); 
Query OK, 1 row affected (0.10 sec)

คิวรี่แปลงเป็น DATE

mysql> select str_to_date(JoiningYear, '%b %Y') from DemoTable;

ผลลัพธ์

+----------------------------------+ 
| str_to_date(JoiningYear, '%b %Y') | 
+----------------------------------+ 
| 2018-01-00                       | 
| 2107-05-00                       | 
| 2019-08-00                       | 
| 2020-10-00                       | 
+----------------------------------+ 
4 rows in set (0.05 sec)

รูปแบบ %b %Y: %b = ชื่อเดือนย่อ (Jan, May, Aug, Oct) | %Y = ปี 4 หลัก | วันที่จะเป็น 00 เพราะไม่มีข้อมูลวัน | ใช้ INSERT ... SELECT str_to_date(...) เพื่อเก็บเป็น DATE ได้เลย