Oracle将RAW转换为日期格式

时间:2013-12-09 02:53:05

标签: sql oracle date format

我的Oracle数据库中有一个RAW字段,表示用户在系统中注册的日期。

值类似24E2321A0000000000但是我需要将值转换为它所代表的日期(等2008-12-25 15:04:31)。

我尝试使用totimestamp(请参阅 this sqlfiddle),但这不起作用。

2 个答案:

答案 0 :(得分:1)

也许这会有所帮助:

SELECT utl_raw.cast_to_binary_integer('24E2321A0000000000') raw_to_int
FROM dual
/

输出是36.我不确定你是否需要几天或几小时。下一个示例是关于向SYSDATE添加36小时:

-- SYSDATE + 36/24 --
SELECT SYSDATE+(utl_raw.cast_to_binary_integer('24E2321A0000000000')/24) my_date
FROM dual
/

MY_DATE
---------------------
12/13/2013 4:29:22 AM

答案 1 :(得分:0)

请尝试一个

declare
d date;
begin
   dbms_stats.convert_raw_value (hextoraw('7876070A010101'), d);
   dbms_output.put_line (d);
end;