gpt4 book ai didi

c# - 使用 Oracle 零日期

转载 作者:太空狗 更新时间:2023-10-29 20:29:31 25 4
gpt4 key购买 nike

我有一个包含现有数据的应用程序,其日期列中的值为零。

当我从 sqlplus 查看它时,我看到:00-12月

当我在此列上使用转储功能时,我得到:Typ=12 Len=7: 100,100,0,0,1,1,1

我需要使用 .Net 中的现有数据(不更改数据、数据结构甚至现有的 sql 语句)

如何读取或写入此值。

数据库版本从 8 到 11 不等。

帮助将不胜感激

最佳答案

不确定您实际期望实现什么,但您可以通过 DBMS_STATS.CONVERT_RAW_VALUE 生成“cruddy”dayes。

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...

关于c# - 使用 Oracle 零日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com