oracle 将excel的数字天数转换为字符串

这是一个PL/SQL函数,用于将Excel中的数字日期转换为字符串格式。它首先检查输入字符串是否包含'-'或'/',如果包含则直接返回,否则将数字转换为日期并格式化为'yyyy-mm-ddhh24:mi:ss'。在转换过程中,考虑了Excel日期系统从1900年1月1日开始的天数。如果出现异常,函数将打印错误信息并返回'err'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

create or replace function func_ensure_excel_date(
                                    in_str  in varchar2)
return varchar2 as
    v_rst varchar2(500) := '';
-- 将excel的数字天数转换为字符串
begin
    if instr(in_str, '-') > 0 then
        return in_str;
    end if;
    if instr(in_str, '/') > 0 then
        return in_str;
    end if;

    v_rst := to_char( TO_DATE('19000101','YYYYMMDD') - 2  + to_number(in_str) , 'yyyy-mm-dd hh24:mi:ss' );

    return v_rst;

exception
  when others then
    dbms_output.put_line('code:' || sqlcode);
    dbms_output.put_line('lineno:' || dbms_utility.format_error_backtrace);
    v_rst := 'err';
    return v_rst;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值