如何将欧洲格式的字符串日期转换为有效的 mysql 日期格式?

How to convert a string date in european format to a valid mysql date format?

我正在尝试通过数据库中的表单插入 2 个日期,表单中的日期格式是这样的字符串 01/01/2020,数据库中的字段是 DATE,所以我知道这需要 YYYY/MM/DD 对吗?

我试过这个查询:

INSERT INTO property_tenant (id_user, id_property, check_in, check_out) 
VALUES(1375965, 119, STR_TO_DATE("01/01/2020", '%d/%m/%y'), 
                     STR_TO_DATE("01/01/2021", '%d/%m/%y'));

我也试过这个:

DATE_FORMAT(STR_TO_DATE("01/01/2021", '%d/%m/%y'), '%Y-%m-%d')

但我不断收到此错误:

code: 'ER_TRUNCATED_WRONG_VALUE', errno: 1292, sqlMessage: "Truncated incorrect date value: '01/01/2020'"

你可以直接使用STR_TO_DATE()函数作为

STR_TO_DATE('1,1,2021','%d,%m,%Y')

已经生成了日期结果。事实上,日期列在 table 中没有格式。 fmt部分('%d,%m,%Y')只需要表达符合时间部分(daymonthYear)的文字片段即可正确排序.

Demo