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

แปลงข้อความเป็นวันที่ใน MySQL ด้วย STR_TO_DATE

ใน MySQL สามารถแปลงสตริง (String) ให้เป็นชนิดข้อมูล DATE ได้โดยใช้ฟังก์ชัน STR_TO_DATE() ซึ่งช่วยให้ระบุรูปแบบวันที่ของข้อความต้นทางได้อย่างชัดเจน

รูปแบบคำสั่ง

SELECT STR_TO_DATE('StringValue', '%d,%m,%Y') AS anyVariableName;

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

แปลงข้อความ '26,11,2018' ที่คั่นด้วยเครื่องหมายจุลภาค:

mysql> SELECT STR_TO_DATE('26,11,2018', '%d,%m,%Y');
+--------------------------------------+
| STR_TO_DATE('26,11,2018', '%d,%m,%Y') |
+--------------------------------------+
| 2018-11-26                           |
+--------------------------------------+
1 row in set (0.00 sec)

ตัวอย่างเพิ่มเติม: รูปแบบชื่อเดือนภาษาอังกฤษ

SELECT STR_TO_DATE("November 26 2018", "%M %d %Y");
+---------------------------------------------+
| STR_TO_DATE("November 26 2018", "%M %d %Y") |
+---------------------------------------------+
| 2018-11-26                                  |
+---------------------------------------------+
1 row in set (0.03 sec)

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

ตัวแทนความหมาย
%dวันที่ (01-31)
%mเดือนเป็นตัวเลข (01-12)
%Yปี 4 หลัก
%Mชื่อเดือนเต็ม (January-December)
%bชื่อเดือนย่อ (Jan-Dec)

เคล็ดลับ: หากข้อมูลต้นทางมีรูปแบบไม่สม่ำเสมอ ควรทำความสะอาดข้อมูลก่อนแปลง เพื่อป้องกันค่าที่ได้เป็น NULL