2017-04-16 63 views
0

我想计算两个varchar列之间的差异来计算no。几小时或没有。分钟。但只是想知道我该怎么做。我尝试使用TO_DATE,TO_TIMESTAMP函数将varchar列转换为datetime/timestamp,但他们没有帮助,然后尝试减法。任何人都可以分享一些投入如何解决这个问题。任何帮助,将不胜感激。谢谢。如何减去包含时间值作为输入的两个varchar列

我的输入数据如下所示。

Col1  Col2 
'7:00 AM' '7:59 PM' 

Output :- 
779 

回答

1
SELECT (TO_DATE(Col2, 'HH12:MI AM') - TO_DATE(Col1, 'HH12:MI AM')) * 24 * 60 
     AS minutes_difference 
FROM DUAL; 

输出

MINUTES_DIFFERENCE 
------------------ 
       779 
+0

非常感谢你!有效... – Teja

0

您可以使用to_date()将值转换为日期/时间。这应该工作:

select (to_date(col2, 'HH:MI AM') - to_date(col1, 'HH:MI AM')) * 24 * 60 as minutes 
+0

输入栏是为VARCHAR2 – Teja

+0

@Teja。 。 。这应该是'to_date()'。 –