网站首页 > 数据库 / 正文
目的:在查询或者关联开发过程中,需要将数字转化成时分秒。下面将介绍查询的方式以及编写函数的方式,
一、查询
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:oracle if select
猜你喜欢
- 2024-11-26 岂止于大,一文读懂大数据及其在推荐系统的应用
- 2024-11-26 详解分布式数据库中间件--mycat配置及相关参数说明
- 2024-11-26 MyBatis Dynamic SQL
- 2024-11-26 Oracle 数据权限控制 - VPD 方案