【问题标题】:Date conversion query in SQL using STR_TO_DATESQL 中使用 STR_TO_DATE 的日期转换查询
【发布时间】:2021-12-29 01:58:11
【问题描述】:

在我的表格中,有一个日期列,即 ORDER DATE,格式为 dd-mm-yyyy,该日期列的数据类型为文本。现在,我想从 yyyy-mm-dd 转换格式。但是日期格式根本没有改变。尝试使用 STR_TO_DATE 但日期中的年份仅为 2020 年。不知道如何修复它,或者是否有更好的方法来转换 MySQL 中的日期。

例如:

SELECT STR_TO_DATE('14-09-2017','%d-%m-%y') AS DATE;
Result coming as 2020-09-14

或者假设

SELECT STR_TO_DATE('20-MAR-2018','%d-%b-%y') AS DATE;
Result coming as 2020-03-20

日期和月份正常到来,但年份没有到来。请帮助如何正确转换日期格式。

【问题讨论】:

  • 检查 documentation %Y 的四位数年份
  • "此日期列的数据类型是文本。" - 从不将日期值存储为字符串。

标签: mysql sql mysql-workbench


【解决方案1】:

尝试像下面这样更改您的命令,您将得到答案: SELECT STR_TO_DATE('14-09-2017','%d-%m-%Y') AS DATE;

有关命令的更多信息,请参阅documentation

【讨论】:

  • 感谢已解决的帮助问题。有什么办法可以更改此日期“14-09-2017”的数据类型,它是文本类型,格式类似于 dd-mm-yyyy?如果它在那里,那么我将更改该日期列的数据类型并将其用作日期列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
  • 1970-01-01
  • 2019-02-09
  • 2021-12-31
  • 1970-01-01
  • 2015-12-15
  • 1970-01-01
相关资源
最近更新 更多