我有一个现有数据的应用程序,在日期列中有零.
当我从sqlplus看它时,我看到:
00 DECEMB
当我在这个列上使用dump函数时,我得到:
Typ = 12 Len = 7:100,100,1,1
我需要使用.Net的现有数据(不更改数据,数据结构甚至现有的sql语句)
黑客怎么读这个值,或者写它.
db版本从8到11不等.
帮助将不胜感激
解决方法
不确定您实际期望实现的目标,但您可以通过DBMS_STATS.CONVERT_RAW_VALUE生成’cruddy’日.
create or replace function stats_raw_to_date (p_in raw) return date is v_date date; v_char varchar2(25); begin dbms_stats.CONVERT_RAW_VALUE(p_in,v_date); return v_date; exception when others then return null; end; / select x,dump(x) y from (select stats_raw_to_date('64640000010101') x from dual);
所以可能有帮助的是一个功能
create or replace function trash_date return date deterministic is v_date date; begin dbms_stats.CONVERT_RAW_VALUE('64640000010101',v_date); return v_date; end; /
然后你可以在查询中使用它
select case when date_col = trash_date then null else date_col from table...