将日期,时间戳转换为日期

时间:2016-10-17 07:01:20

标签: sql oracle

我以varchar格式提供以下格式的数据。这种格式有4800万行

'2015-09-18 00:00:00.000'

并希望将其转换为以下格式 “2015年9月18日

任何人都可以帮我处理Oracle中的代码

1 个答案:

答案 0 :(得分:1)

如果您的列具有时间戳类型,则只需使用to_char对其进行正确格式化:

with yourTable(yourDateColumn) as
(
    select to_timestamp('2015-09-18 00:00:00.000', 'YYYY-MM-DD HH24:MI:SS.FF') from dual
)
select to_char(yourDateColumn, 'yyyy-mm-dd')
from yourTable

如果您的列是一个字符串(并且在字符串字段中存储日期通常是一个非常糟糕的主意)并且具有固定格式,您只需要substr

with yourTable(yourStringColumn) as
(
    select '2015-09-18 00:00:00.000' from dual
)
select substr(yourStringColumn, 1, 10)
from yourTable