已知x秒,如何转化成 00:00:00格式的时间,如已经59秒,求得00:00:59 数据库为ORACLE与MYSql
发布网友
发布时间:2022-04-14 22:31
我来回答
共5个回答
热心网友
时间:2022-04-15 00:00
可以写成如下语句:
select to_date('000059','hh24:mi:ss') from al;
如果不要日期话,用to_char函数只截取时间即可。
例:select to_char(to_date('000059','hh24:mi:ss'),'hh24:mi:ss') from al;
MySql照着Oracle写就可以了。
热心网友
时间:2022-04-15 01:18
Oracle中date类型包含 日期 和 时间
所以 无法 表示 单独的时间。
下面的sql取得今天的 00:00:59 ,其中的'59' 是你已知的秒。
select to_date(to_char(sysdate,'yyyy-mm-dd')||' 00:00:'||'59','yyyy-mm-dd hh24:mi_ss')
from al追问这个不怎么好,写死了的,没有计算
如果67秒呢?
追答declare
n number;
begin
select to_date(to_char(sysdate,'yyyy-mm-dd')||' '||to_char(floor(n/3600)||‘:||':'||to_char(floor(n/60)||‘:'||to_char(n mod 60),'yyyy-mm-dd hh24:mi_ss')
from al ;
end
热心网友
时间:2022-04-15 02:53
这种事情交给需要真正打印这个时间的地方去做。。。
数据库不是用来做格式转换这种无聊事情的,浪费资源 ,降低查询效率
热心网友
时间:2022-04-15 04:44
你这是在数据库中写代码,还是在哪里写代码啊?
能不能说的详细点啊?追问我这个是写sql语句