mysql - 如何格式化这种日期?

标签 mysql sql datetime

如何以这种方式设置日期格式:Sun Aug 11 00:54:13 BRT 2019

我有一个表,其 varchar 列中的日期使用此格式,我想将其作为 datetime 插入到另一个表中。

我尝试过:

select date_format('Sun Aug 11 00:54:13 BRT 2019', '%Y-%m-%d %H:%i:%s');

用于测试,但它返回NULL

还有,这种风格有名字吗?

最佳答案

您似乎需要将字符串转换为日期。您可以使用STR_TO_DATE()为此目的。

考虑:

SELECT STR_TO_DATE(
    'Sun Aug 11 00:54:13 BRT 2019',
     '%a %b %e %H:%i:%S BRT %Y'
);

产量:

2019-08-11 00:54:13

<强> Demo on DB Fiddle

注意:

  • 从您的示例数据中无法判断该月的哪一天存储为 0..31 (说明符 %e)还是 00..31(说明符%d)
  • 我将时区分开

关于mysql - 如何格式化这种日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57749027/

相关文章:

c++ - Qt MySQL 适配器拒绝随机连接 : Unable to allocate a MYSQL

php - Zend 原始 SQL 查询

sql - ORA-01446 - 无法从带有 DISTINCT、GROUP BY 等的 View 中选择 ROWID

datetime - 如何使用Emacs Lisp在Emacs中添加日期?

javascript - 使用 javascript 设置页面加载时的默认引导日期和日期时间值

mysql - mysql中的float精度问题

mysql - 按计数选择一对多关系

一个团队的 MySQL 连胜纪录

SQL Server : Optimal performance clustered indexing and expected indexsize

python - 日期时间中每 10 分钟绘制一次