oracle – 将间隔转换为分钟
发布时间:2021-05-23 11:53:42 所属栏目:站长百科 来源:网络整理
导读:假设我有两个间隔: INTERVAL '0 00:30:00' DAY TO SECONDINTERVAL '0 04:00:00' DAY TO SECOND 什么是最优雅的方式来获取每个时间间隔的分钟数. 30和240. 是的,我知道我可以执行EXTRACT(从间隔小时)* 60 EXTRACT(从间隔分钟),但这对我来说看起来很糟糕. 任
假设我有两个间隔: INTERVAL '0 00:30:00' DAY TO SECOND INTERVAL '0 04:00:00' DAY TO SECOND 什么是最优雅的方式来获取每个时间间隔的分钟数. 30和240. 是的,我知道我可以执行EXTRACT(从间隔小时)* 60 EXTRACT(从间隔分钟),但这对我来说看起来很糟糕. 任何更好的解决方案? 对你来说看起来很糟糕,看起来完全可以接受.如果您查看算术中的文档,可以在INTERVAL上执行:http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/sql_elements001.htm#sthref175 那么你会看到你可以将它们与数字相乘.所以如果你的间隔乘以24和60,你可以通过提取天数得到分钟数.它更紧凑,但我怀疑你的看法是否更优雅. SQL> create table t (my_interval interval day to second) 2 / Table created. SQL> insert into t 2 select numtodsinterval(30,'minute') from dual union all 3 select numtodsinterval(4,'hour') from dual 4 / 2 rows created. SQL> select my_interval 2,60 * extract(hour from my_interval) 3 + extract(minute from my_interval) minutes_terrible_way 4,extract(day from 24*60*my_interval) minutes_other_way 5 from t 6 / MY_INTERVAL MINUTES_TERRIBLE_WAY MINUTES_OTHER_WAY ------------------------------ -------------------- ----------------- +00 00:30:00.000000 30 30 +00 04:00:00.000000 240 240 2 rows selected. 问候,抢. (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |