我怎么才能获得varchar2的时间?我这样做:
select to_date(substr(fecha,10,16),'HH:MI:SS AM') from total;
但它给了我:
01/06/2014 5:50:01
01/06/2014 5:50:05
01/06/2014 5:50:05
01/06/2014 5:50:50
我想:
5:50:01
5:50:05
5:50:05
5:50:50
有任何帮助吗?请
答案 0 :(得分:1)
虽然它可能不是您所期望的,但代码运行正常。在Oracle中,如果您没有指定日期的日 - 月 - 年份部分,则默认为当月的第一天。 Oracle DATE必须始终有一天/月/年 - 没有办法在DATE列或变量中没有日期。
如果你真的想让它只显示日期的时间部分,你只需要使用TO_CHAR(date_value, 'HH24:MI:SS')
仅提取小时 - 分钟 - 秒并将其视为字符串。
分享并享受。
答案 1 :(得分:0)
我认为你应该同时使用to_char和to_date:
select to_char(to_date(fecha,'dd-mm-yyyy HH:MI:SS AM'),'HH:MI:SS AM')
time from total;