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

วิธี INSERT วันที่รูปแบบ mm/dd/yyyy ใน MySQL ด้วย STR_TO_DATE

แปลงสตริงวันที่รูปแบบกำหนดเป็น DATE ด้วย STR_TO_DATE()

MySQL เก็บ DATE ในรูปแบบ YYYY-MM-DD หากข้อมูลเข้ามาในรูปแบบอื่น (เช่น MM-DD-YYYY) ต้องแปลงด้วย STR_TO_DATE() ก่อน INSERT

ไวยากรณ์

INSERT INTO your_table (date_col) 
VALUES (STR_TO_DATE('your_date_string', 'your_format_specifier'));

ตัวอย่างสร้างตาราง

CREATE TABLE DemoTable (ShippingDate DATE);

INSERT วันที่รูปแบบ MM-DD-YYYY

INSERT INTO DemoTable VALUES (STR_TO_DATE('06-01-2019', '%m-%d-%Y'));
INSERT INTO DemoTable VALUES (STR_TO_DATE('01-31-2019', '%m-%d-%Y'));
INSERT INTO DemoTable VALUES (STR_TO_DATE('02-01-2018', '%m-%d-%Y'));

ผลลัพธ์ในตาราง (เก็บเป็น YYYY-MM-DD)

+--------------+
| ShippingDate |
+--------------+
| 2019-06-01   |
| 2019-01-31   |
| 2018-02-01   |
+--------------+

Format Specifiers หลัก:

Specifierความหมายตัวอย่าง
%Yปี 4 หลัก2019
%yปี 2 หลัก19
%mเดือน 2 หลัก (01-12)06
%cเดือน 1-2 หลัก (1-12)6
%dวัน 2 หลัก (01-31)01
%eวัน 1-2 หลัก (1-31)1
%Hชั่วโมง 24 ชม. (00-23)13
%h / %Iชั่วโมง 12 ชม. (01-12)01
%iนาที (00-59)05
%sวินาที (00-59)30

รูปแบบทั่วไป:

  • %d/%m/%Y → 31/12/2019 (DD/MM/YYYY)
  • %m/%d/%Y → 12/31/2019 (MM/DD/YYYY)
  • %Y-%m-%d %H:%i:%s → 2019-12-31 23:59:59 (DATETIME)

ฟังก์ชันคู่คือ: DATE_FORMAT(date, format) แปลง DATE → String ตามรูปแบบ