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

วิธีแปลงรูปแบบวันที่ให้เป็นวันที่ MySQL อย่างถูกต้อง

ใช้ฟังก์ชัน STR_TO_DATE() เพื่อแปลงสตริงวันที่ให้เป็นรูปแบบวันที่ของ MySQL

ตัวอย่างการใช้งาน

1. สร้างตารางเก็บวันที่เป็น VARCHAR

mysql> create table DemoTable 
    -> ( 
    -> DueDatetime varchar(100) 
    -> ); 
Query OK, 0 rows affected (1.03 sec)

2. แทรกข้อมูลวันที่ในรูปแบบต่างๆ

mysql> insert into DemoTable values('22-06-2019 14:40'); 
Query OK, 1 row affected (0.20 sec) 
mysql> insert into DemoTable values('02-07-2015 13:10'); 
Query OK, 1 row affected (0.18 sec)

3. แสดงข้อมูลก่อนแปลง

mysql> select * from DemoTable;
+------------------+
| DueDatetime      |
+------------------+
| 22-06-2019 14:40 |
| 02-07-2015 13:10 |
+------------------+

4. แปลงด้วย STR_TO_DATE

mysql> select str_to_date(DueDatetime, '%d-%m-%Y %H:%i') from DemoTable;

ผลลัพธ์หลังแปลง

+-------------------------------------------+
| str_to_date(DueDatetime, '%d-%m-%Y %H:%i') |
+-------------------------------------------+
| 2019-06-22 14:40:00                       |
| 2015-07-02 13:10:00                       |
+-------------------------------------------+

รูปแบบตัวจัดรูปแบบ (Format Specifiers) ที่ใช้บ่อย

  • %d - วัน (00-31)
  • %m - เดือน (00-12)
  • %Y - ปี 4 หลัก
  • %H - ชั่วโมง (00-23)
  • %i - นาที (00-59)
  • %s - วินาที (00-59)

หมายเหตุ: ต้องระบุรูปแบบให้ตรงกับข้อมูลต้นทางทุกตัวอักษร รวมถึงตัวคั่น (-, :, ช่องว่าง)