我正在尝试通过数据库中的一个表单插入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'”
答案 0 :(得分:2)
您可以直接将 STR_TO_DATE()
函数用作
STR_TO_DATE('1,1,2021','%d,%m,%Y')
已产生日期结果。实际上,日期列在表中没有格式。仅需要fmt
部分('%d,%m,%Y'
)来表达与时间部分(day
,month
,Year
)一致的文字部分