Oracle 时间字段为数字时转换标准时间

来源:互联网 发布:知乎和知网有关系吗 编辑:程序博客网 时间:2024/06/05 10:18


时间在不同的设计和想法,表现出不同的字段类型

1、字段类型:NUMBER(16)



13位数字,如何显示为常规时间格式?


解决:


  function num_to_date(in_number NUMBER) return date is

  begin

    return(TO_DATE('19700101', 'yyyymmdd') + in_number / 86400000 +

           TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone), 1, 3)) / 24);

  end;




2、字段类型:NUMBER



10位数字,如何显示为常规格式?


解决:



select ( To_date('1970-1-1 7:59:49','yyyy-mm-dd hh24-mi-ss')+ sendtime/60/60/24 ) sendtime from CONCHATBAK order by sendtime desc;


//为什么是从 1970-1-1 7:59:49开始,这是倒推出来的,实际字段存的是1970-1-1某一时刻到记录发生时的秒数,通过秒数记录和实际时间比较,推出时间开始的点,加上天数就是实际记录发生时间。





时间在不同的设计和想法,表现出不同的字段类型

1、字段类型:NUMBER(16)



13位数字,如何显示为常规时间格式?


解决:


  function num_to_date(in_number NUMBER) return date is

  begin

    return(TO_DATE('19700101', 'yyyymmdd') + in_number / 86400000 +

           TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone), 1, 3)) / 24);

  end;




2、字段类型:NUMBER



10位数字,如何显示为常规格式?


解决:



select ( To_date('1970-1-1 7:59:49','yyyy-mm-dd hh24-mi-ss')+ sendtime/60/60/24 ) sendtime from CONCHATBAK order by sendtime desc;


//为什么是从 1970-1-1 7:59:49开始,这是倒推出来的,实际字段存的是1970-1-1某一时刻到记录发生时的秒数,通过秒数记录和实际时间比较,推出时间开始的点,加上天数就是实际记录发生时间。





0 0
原创粉丝点击