gpt4 book ai didi

sql - 在 Oracle 中将 mm/dd/yyyy 转换为 yyyy-mm-dd

转载 作者:行者123 更新时间:2023-12-04 14:37:17 32 4
gpt4 key购买 nike

我的日期列在 varchar2 中,我想将这些值转换为 YYYY-MM-DD

DATE
7/26/2013
7/29/2013
8/1/2013
8/4/2013
7/28/2013
7/31/2013
8/3/2013
7/30/2013
8/5/2013
7/25/2013
8/2/2013
8/6/2013
7/27/2013

最佳答案

您应该永远不要将日期存储在VARCHAR 列中

所以为了现在显示不同,你需要先把字符串转换成日期,然后再转换回字符串

如果您确定所有“日期”确实具有正确(且相同)的格式,那么以下应该有效:

select to_char(to_date(date, 'mm/dd/yyyy'), 'yyyy-mm-dd')
from the_table;

但是,如果这给您带来错误,我不会感到惊讶,因为一行或多行的日期格式不同。如果您从一开始就将列定义为 DATE 类型,就不会发生这种情况。

您真的应该考虑将该列更改为真正的 DATE 列。

顺便说一句:DATE 是这样一个专栏的可怕名称。它是一个保留字,它根本不会告诉您有关该列中实际存储的内容的任何信息(“开始日期”、“结束日期”、“出生日期”、“截止日期”…… )

关于sql - 在 Oracle 中将 mm/dd/yyyy 转换为 yyyy-mm-dd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18103128/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com