龙空技术网

Oracle技巧之将数字转换为时分秒,函数

三笔十划 208

前言:

现在朋友们对“oracle日期字符串转化成日期”可能比较讲究,小伙伴们都需要剖析一些“oracle日期字符串转化成日期”的相关知识。那么小编也在网上汇集了一些关于“oracle日期字符串转化成日期””的相关知识,希望朋友们能喜欢,咱们快快来学习一下吧!

目的:在查询或者关联开发过程中,需要将数字转化成时分秒。下面将介绍查询的方式以及编写函数的方式,

一、查询

1.第一种情况是在24小时内的转化,也就是:86400>数字>=0

select to_char(to_date('30682','sssss'),'hh24:mi:ss') from dual

查询1的结果

如果想要显示中文的时分秒,就做写如下查询语句

select trunc(30682/3600) || '小时' || to_char(to_date(mod(30682,3600),'sssss'),'fmmi"分"ss"秒"') from dual

中文时分秒结果

2.第二种情况是大于24小时的转化,也就是:数字>=86400,这里就展示中文的转化写法

select trunc(3601*24/3600/24) || '天' || to_char(to_date(mod(3601*24,3600*24),'sssss'),'fmhh24"小时"mi"分"ss"秒"') from dual

查询2的结果

上面就是两种数字范围的转化,是不是觉得繁琐,不太通用,那就需要用到函数了。

二、函数

函数的话,写好直接调用就行,这里就展示下语句和调用方式,如下所示:

CREATE OR REPLACE function ceshi1(nu1 in integer)return varchar2 isnu2 varchar2(200);beginif nu1<86400 thenselect to_char(to_date(nu1,'sssss'),'fmhh24"小时"mi"分"ss"秒"') into nu2 from dual;elseselect trunc(nu1/86400)||'天'||to_char(to_date(mod(nu1,86400),'sssss'),'fmhh24"小时"mi"分"ss"秒"') into nu2 from dual;end if;return nu2;end ceshi1;

调用方法就如下2张图所示:

调用案例1

调用案例2

好了,今天的Oracle将数字转化为中文时分秒的方法也就结束了。

标签: #oracle日期字符串转化成日期