我正在尝试解析 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/