我在Excel中有一个日期格式2011-01-06T06:30:10Z。我想从excel中将日期部分加载到一个表中。如何从中获取日期部分。 即2011-01-06
由于
答案 0 :(得分:2)
试试这个:
select cast(TO_TIMESTAMP_TZ(REPLACE('2011-01-06T06:30:10Z', 'T', ''), 'YYYY-MM-DD HH:MI:SS TZH:TZM') as date) from dual
答案 1 :(得分:0)
我认为,需要更多解释。
将数据加载到数据库中是一部分,并且在获取之后显示它是另一部分。
如果您已将数据加载到数据库中,那么您需要做的就是使用TRUNC
。它将截断time
部分,并仅显示date
部分。
DATE始终具有日期时间部分。 TIMESTAMP
是DATE
类型的扩展。而你所看到的日期看起来并不是它存储在数据库中的方式。格式是我们人类要理解的。日期以内部格式存储在7字节中。
更多信息基于OP的评论问题
从不将 DATE 存储为 VARCHAR2 数据类型。日期不是字符串文字。 Oracle提供了大量FORMAT MODELS
来按您希望的方式显示日期时间。迟早,由于数据转换,您将遇到性能问题。始终使用显式转换将文字转换为完美DATE
,以将其与其他日期值进行比较。