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

แปลง String (VARCHAR) เป็น Timestamp ใน MySQL

การแปลงสตริงวันที่เป็นรูปแบบ Timestamp

ใช้ฟังก์ชัน STR_TO_DATE() ร่วมกับ DATE_FORMAT()

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

mysql> create table DemoTable1602 ( ReportingDate varchar(40) ); 
Query OK, 0 rows affected (0.51 sec)
mysql> insert into DemoTable1602 values('Wed Oct 02 16:10:45 IST 2019'); 
Query OK, 1 row affected (0.20 sec) 
mysql> insert into DemoTable1602 values('Fri May 31 13:00:10 IST 2019'); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into DemoTable1602 values('Mon Dec 31 14:20:00 IST 2018'); 
Query OK, 1 row affected (0.23 sec)

คิวรี่แปลงรูปแบบ

mysql> select date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s') from DemoTable1602;

ผลลัพธ์

+----------------------------------------------------------------------------------+ 
| date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s') | 
+----------------------------------------------------------------------------------+ 
| 02-10-2019 16:10:45                                                              | 
| 31-05-2019 13:00:10                                                              | 
| 31-12-2018 14:20:00                                                              | 
+----------------------------------------------------------------------------------+ 
3 rows in set (0.03 sec)

รูปแบบวันที่:

  • %a - ชื่อวันสั้น (Wed, Fri, Mon)
  • %b - ชื่อเดือนสั้น (Oct, May, Dec)
  • %d - วันที่ (02, 31)
  • %T - เวลา HH:MM:SS
  • %Y - ปี 4 หลัก