SQL 中使用 STR_TO_DATE 的日期转换查询
Posted
技术标签:
【中文标题】SQL 中使用 STR_TO_DATE 的日期转换查询【英文标题】:Date conversion query in SQL using 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
的四位数年份
"此日期列的数据类型是文本。" - 从不将日期值存储为字符串。
【参考方案1】:
尝试像下面这样更改您的命令,您将得到答案: SELECT STR_TO_DATE('14-09-2017','%d-%m-%Y') AS DATE;
有关命令的更多信息,请参阅documentation。
【讨论】:
感谢已解决的帮助问题。有什么办法可以更改此日期“14-09-2017”的数据类型,它是文本类型,格式类似于 dd-mm-yyyy?如果它在那里,那么我将更改该日期列的数据类型并将其用作日期列。以上是关于SQL 中使用 STR_TO_DATE 的日期转换查询的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL 中将 varchar 字段 (YYYYMM) 转换为日期 (MM/01/YY)?