mysql - 如何忽略 MySQL STR_TO_DATE 格式字符串中的文本?

标签 mysql parsing datetime

我正在尝试解析 MySQL 表中的一些日期,但无法让 STR_TO_DATE 正常运行:

SELECT STR_TO_DATE('Tue Feb 12 17:59:59 EET 2013', '%a %b %e %T EET %Y')

将返回 null。

如何让它忽略EET文本?我不需要时区信息。

更新: MySQL 服务器版本为 4.1.14

最佳答案

我认为它只适用于 5.x(在 5.5.x 上尝试过),因为解析器可以跳过字符串中匹配的模板,而它在 4.x 中未实现。

你可以尝试下面的语句,在 5.x 中可以,但在 4.x 中不行:

SELECT STR_TO_DATE('Tue XX Feb 12 17:59:59 SOME_DATA 2013', '%a XX %b %e %T SOME_DATA %Y')

因此,您能做的最好的事情就是遵循您的解决方法(替换不需要的子字符串)。

旁注:MySQL 没有时区的概念。因此,如果初始字符串包含 UTC、EET、FET 等,MySQL 不关心也不在日期转换期间应用任何更改。

关于mysql - 如何忽略 MySQL STR_TO_DATE 格式字符串中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858093/

相关文章:

MySql性能问题

php - 了解并跟踪 Apache 错误 : Wordpress database

mysql - 计算日期范围内每个工作日的工作时间

javascript - 我如何在 CRM 中根据日期而不是时间记录 'fetchXml' ?

mysql - 保留页面更改历史记录。有点像 SO 对修订所做的

mysql - 用子查询的结果替换子字符串

python - 在 Python 中使用设置文件的最佳做法是什么?

用于解析日期时间的 C 库

C++ - 无法将 CSV 解析到我的结构中

sql - 从日期时间 x 分钟前和日期时间 x 分钟前之间的 mysql 表中选择