我怎樣才能得到一個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
任何幫助嗎?請
我怎樣才能得到一個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
任何幫助嗎?請
我想你應該同時使用,TO_CHAR和TO_DATE:
select to_char(to_date(fecha,'dd-mm-yyyy HH:MI:SS AM'),'HH:MI:SS AM')
time from total;
我同意你的一般方法,但dd-mm-yyyy在varchar2中並不明顯。如果'dd-mm-yyyy'沒有出現(例如只有時間),那麼這將不起作用。 –
雖然它可能不是你所期望的,代碼工作正常。在Oracle中,如果您沒有指定日期的日/月/年部分,則默認爲當前月份的第一天。 Oracle DATE必須始終有一個日/月/年 - 在DATE列或變量中沒有日期沒有時間。
如果您確實希望只顯示日期的時間部分,您只需使用TO_CHAR(date_value, 'HH24:MI:SS')
來提取小時分鐘秒,並將其視爲字符串。
分享和享受。
試試這個'SELECT to_char(fetcha,'HH24:MI:SS') FROM table' –
不工作。 Fecha是varchar。我想轉換成日期,然後做出比較。它說我的號碼無效 – user650034