我收到的日期是'Sun 6月20日:40:27 IST 2021格式。我需要以datetime(6)
格式插入到我的D0
数据库中。
我用
STR_TO_DATE('Sun Jun 20 00:40:27 IST 2021','%d/%m/%Y %T')
并收到
错误的日期时间值:‘孙俊2000:40:27 IST 2021’函数str_to_date错误。
我也试过
date_format('Sun Jun 20 00:40:27 IST 2021','%d/%m/%Y %T')
并收到
不正确的日期时间值:‘孙俊2000:40:27 IST 2021
有人能引导我修好它吗?
PS:我使用prepared statement
,executeBatch()
将数据插入到表中。
发布于 2022-03-22 19:36:18
要存储到DATETIME
中,请使用STR_TO_DATE()
描述字符串的格式:
SELECT STR_TO_DATE('Sun Jun 20 00:40:27 IST 2021', "%a %b %d %H:%i:%s IST %Y");
-> 2021-06-20 00:40:27
作为一个单独的步骤,您可以使用具有不同格式字符串的SELECT
以不同的格式使用DATE_FORMAT()
来确定日期时间。
SELECT DATE_FORMAT('2021-06-20 00:40:27', '%d/%m/%Y');
-> 20/06/2021 00:40:27
您不能在一个函数调用中同时执行两个转换。
存储到DATETIME(6)
中将存储2021-06-20 00:40:27.000000
。(在您的示例中,(6)
被浪费了。
如果您使用的是LOAD DATA
,那么有一种方法可以在执行插入时执行STR_TO_DATE
。
我不知道如何在“IST”上进行泛化;注意,我在我的示例代码中基本上超越了它。
发布于 2022-08-24 17:21:40
SELECT DATE_FORMAT('2021-06-20 00:40:27', '%d/%m/%Y');
https://dba.stackexchange.com/questions/310034
复制相似问题