专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

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

ins518 2024-10-29 15:00:45 技术文章 13 ℃ 0 评论

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

一、查询

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

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


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

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


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


二、函数

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

CREATE OR REPLACE function ceshi1(nu1 in integer)
return varchar2 is
nu2 varchar2(200);
begin
if nu1<86400 then
select to_char(to_date(nu1,'sssss'),'fmhh24"小时"mi"分"ss"秒"') into nu2 from dual;
else
select 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张图所示:



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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表