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

时间:2020-02-08 12:32:29

标签: mysql date-formatting str-to-date

我正在尝试通过数据库中的一个表单插入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')

但我不断收到此错误:

代码:“ ER_TRUNCATED_WRONG_VALUE ”,错误号: 1292 ,sqlMessage: “ 截断了错误的日期值:'01 / 01/2020'

1 个答案:

答案 0 :(得分:2)

您可以直接将 STR_TO_DATE() 函数用作

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

已产生日期结果。实际上,日期列在表中没有格式。仅需要fmt部分('%d,%m,%Y')来表达与时间部分(daymonthYear)一致的文字部分

Demo