【发布时间】:2021-06-16 01:52:17
【问题描述】:
我有一个数据加载到一个表中,我有两列 Time In 和 Time Out,它们都是 Varchar2 类型。加载到这些列中的数据是带时间的日期,我想排除日期并仅用时间填充列。我的问题是我尝试将列中的所有日期格式化为 on 格式,它给了我错误“不是有效的月份”或“无效的数字”。我有一个查询用于尝试选择格式中的数据。如果我能得到正确的查询,那么我可以修复我的数据。
查询包括
SELECT
to_date(to_char(time_in, 'HH:MI:SS AM'), 'HH:MI:SS AM') time_in,
to_date(to_char(time_out, 'HH:MI:SS AM'), 'HH:MI:SS AM') time_out
FROM
loadingtable
回顾一下,我有一个表,其中包含两个类型为 varchar2 的列,它们具有两种格式的日期和时间的数据。
我想格式化它以单独获得时间。
提前致谢!
【问题讨论】:
-
你有这两种格式还是有其他可能的?
-
我正在从 csv 及其大量文件中加载记录,到目前为止,这些是仅有的两种格式,并且将继续是仅有的两种格式
-
将
DATE转换为字符串然后再转换回DATE似乎很愚蠢。在字符值上使用TO_CHAR()也是没有意义的。你想达到什么目标?