oracle时间 oracle jhkssj VARCHAR2(5),jhjssj VARCHAR2(5)jhkssj jhjssj05:10 05:2023:15 01:30我想得出0.1小时2.3小时(四舍五入)如果太难那就10分钟135分钟 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL> create table sj( jhkssj VARCHAR2(5),jhjssj VARCHAR2(5)); Table created SQL> select * from sj; JHKSSJ JHJSSJ------ ------05:10 05:2023:15 01:30 SQL> --1、小时(小时应该不是10进制的吧)SQL> SELECT round(CASE 2 WHEN jhjssj >= jhkssj THEN 3 jhjssj - jhkssj 4 ELSE 5 jhjssj + 1 - jhkssj 6 END * 24,1) 7 FROM (SELECT to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' || 8 jhkssj, 9 'yyyy-mm-dd hh24:mi') jhkssj, 10 to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' || 11 jhjssj, 12 'yyyy-mm-dd hh24:mi') jhjssj 13 FROM sj); SQL>--2、分钟 SQL> SELECT CASE 2 WHEN jhjssj >= jhkssj THEN 3 jhjssj - jhkssj 4 ELSE 5 jhjssj + 1 - jhkssj 6 END * 1440 7 FROM (SELECT to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' || 8 jhkssj, 9 'yyyy-mm-dd hh24:mi') jhkssj, 10 to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' || 11 jhjssj, 12 'yyyy-mm-dd hh24:mi') jhjssj 13 FROM sj); CASEWHENJHJSSJ>=JHKSSJTHENJHJS------------------------------ 10 135 SQL> SQL> --1.小时SQL> SELECT round(CASE 2 WHEN jhjssj >= jhkssj THEN 3 jhjssj - jhkssj 4 ELSE 5 jhjssj + 1 - jhkssj 6 END * 24, 7 1) 8 FROM (SELECT to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' || 9 jhkssj, 10 'yyyy-mm-dd hh24:mi') jhkssj, 11 to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' || 12 jhjssj, 13 'yyyy-mm-dd hh24:mi') jhjssj 14 FROM sj); ROUND(CASEWHENJHJSSJ>=JHKSSJTH------------------------------ 0.2 2.3 SQL> oracle的一个分组查询问题 合并成一个视图 求助:function返回游标的问题 关于 group by 的问题! 求教对工作区概念的理解 再问关于ORA-04031 我用oracle database assistant创建了一个数据库实例,可是删不掉??? 哪里有oracle的sql语法的使用中文手册! 求助:一个关于sql文的问题,请大家帮帮忙!! Oracle 连接超时 oracle 版本 搬迁 从Oracle8i 到 11g 需要注意些什么问题? oracle10g数据库正常运行,偶尔报错ora-12547,求分析解答!
Table created
SQL> select * from sj;
JHKSSJ JHJSSJ
------ ------
05:10 05:20
23:15 01:30
SQL> --1、小时(小时应该不是10进制的吧)SQL> SELECT round(CASE
2 WHEN jhjssj >= jhkssj THEN
3 jhjssj - jhkssj
4 ELSE
5 jhjssj + 1 - jhkssj
6 END * 24,1)
7 FROM (SELECT to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' ||
8 jhkssj,
9 'yyyy-mm-dd hh24:mi') jhkssj,
10 to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' ||
11 jhjssj,
12 'yyyy-mm-dd hh24:mi') jhjssj
13 FROM sj);
SQL>--2、分钟
SQL> SELECT CASE
2 WHEN jhjssj >= jhkssj THEN
3 jhjssj - jhkssj
4 ELSE
5 jhjssj + 1 - jhkssj
6 END * 1440
7 FROM (SELECT to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' ||
8 jhkssj,
9 'yyyy-mm-dd hh24:mi') jhkssj,
10 to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' ||
11 jhjssj,
12 'yyyy-mm-dd hh24:mi') jhjssj
13 FROM sj);
CASEWHENJHJSSJ>=JHKSSJTHENJHJS
------------------------------
10
135
SQL>
SQL> SELECT round(CASE
2 WHEN jhjssj >= jhkssj THEN
3 jhjssj - jhkssj
4 ELSE
5 jhjssj + 1 - jhkssj
6 END * 24,
7 1)
8 FROM (SELECT to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' ||
9 jhkssj,
10 'yyyy-mm-dd hh24:mi') jhkssj,
11 to_date(to_char(trunc(SYSDATE), 'yyyy-mm-dd') || ' ' ||
12 jhjssj,
13 'yyyy-mm-dd hh24:mi') jhjssj
14 FROM sj);
ROUND(CASEWHENJHJSSJ>=JHKSSJTH
------------------------------
0.2
2.3
SQL>