首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将日期格式转换为插入到MySQL数据库中

将日期格式转换为插入到MySQL数据库中
EN

Database Administration用户
提问于 2022-03-22 16:40:01
回答 2查看 2.7K关注 0票数 3

我收到的日期是'Sun 6月20日:40:27 IST 2021格式。我需要以datetime(6)格式插入到我的D0数据库中。

我用

代码语言:javascript
运行
复制
STR_TO_DATE('Sun Jun 20 00:40:27 IST 2021','%d/%m/%Y %T')

并收到

错误的日期时间值:‘孙俊2000:40:27 IST 2021’函数str_to_date错误。

我也试过

代码语言:javascript
运行
复制
date_format('Sun Jun 20 00:40:27 IST 2021','%d/%m/%Y %T')

并收到

不正确的日期时间值:‘孙俊2000:40:27 IST 2021

有人能引导我修好它吗?

PS:我使用prepared statementexecuteBatch()将数据插入到表中。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2022-03-22 19:36:18

要存储到DATETIME中,请使用STR_TO_DATE()描述字符串的格式:

代码语言:javascript
运行
复制
 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()来确定日期时间。

代码语言:javascript
运行
复制
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”上进行泛化;注意,我在我的示例代码中基本上超越了它。

票数 9
EN

Database Administration用户

发布于 2022-08-24 17:21:40

代码语言:javascript
运行
复制
SELECT DATE_FORMAT('2021-06-20 00:40:27', '%d/%m/%Y');
票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/310034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档