转换char-date-char

时间:2012-03-12 11:51:30

标签: sql oracle

该列定义为VARCHAR。 本栏中的数据:

  

2012-03-11 12:10:00.0 IST

我想只得到日期部分 最好的方法是什么?

我厌倦了将它转换为日期:

  

to_char(to_date('2012-03-11 12:10:00.0 IST',   'YYYY-MM-DD'), 'YYYY-MM-DD')

但是出现了错误:日期格式图片在转换整个输入字符串之前结束

2 个答案:

答案 0 :(得分:5)

更新:如果我说得对,你只想要日期部分,但不能转换到目前为止? 然后这样做:

select SUBSTR('2012-03-11 12:10:00.0 IST', 1, 10)

如果您还想将其转换为日期,请执行以下操作:

select to_date(SUBSTR('2012-03-11 12:10:00.0 IST', 1, 10))

答案 1 :(得分:1)

juergen d很好,可能是最快的。但是你也可以这样做:
select cast(to_timestamp('2012-03-11 12:10:00.0 IST', 'YYYY-MM-DD HH24:MI:SS.FF1 "IST"') as date) from dual;