我想根据日期字段值更新mysql表中的数据。
表由四个字段组成(id、文件id、购买日期、错误)。购买日期和错误是varchar字段。
现在,如果date中的值不是有效日期,我想更新error字段。我试过了 STR_TO_DATE()
功能,但不起作用 where clause
在 update query
这是我的问题
UPDATE `temp_bulk_upload_data` SET `error`= 'Date of purchase: Date of purchase should be a valid date' WHERE `file_id`='190' AND STR_TO_DATE(`date_of_purchase`, '%m/%d/%Y') IS NULL AND (`date_of_purchase` != '' OR `date_of_purchase` IS NOT NULL)
在此查询中,我得到以下错误:
Error in query (1411): Incorrect datetime value: '27/8/2018' for function str_to_date
2条答案
按热度按时间klr1opcd1#
在这种情况下使用正则表达式。查询
gdrx4gfi2#
传入的值
STR_TO_DATE
应该是mmddYYYY
格式化或更新的第二个参数STR_TO_DATE
要接受的函数ddmmYYYY
设置日期值格式。