我以varchar格式提供以下格式的数据。这种格式有4800万行
'2015-09-18 00:00:00.000'
并希望将其转换为以下格式 “2015年9月18日
任何人都可以帮我处理Oracle中的代码
答案 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