在我的情况下,我需要处理无效的日期值,例如:'04070$'。即使我收到诸如“04070$”之类的错误输入,我也需要插入一些内容。
当我做:
select str_to_date('04070$','%m%d%Y') from dual;
Run Code Online (Sandbox Code Playgroud)
结果是:
2000-04-07
Run Code Online (Sandbox Code Playgroud)
但是对于插入语句,我收到一个错误:
INSERT INTO `table1` ( `Date_Posted`) VALUES (str_to_date('04070$','%m%d%Y'))
#1292 - Truncated incorrect date value: '04070$'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么 select 语句运行良好而 insert 语句出错。当出现这种不正确的值时,有没有办法让插入语句插入 NULL 或日期(即使它不正确)?
在我的表中,日期存储如下:2011-03-03T13:30:00
我正在尝试输出这样的日期:2011年3月3日下午1:30
我宁愿把它用在查询中,而不是使用php来格式化它,但我在做这件事时遇到了一些困难.尝试DATE_FORMAT的各种迭代,但它没有给我我想要的东西,也许是因为它的存储方式?