SQL选择用日期时间减去日期时间

SQL选择用日期时间减去日期时间,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,我在一个表中有两个不同的字段,它们都有相同的时间戳格式 2012年7月18日上午10:19:48 和 2012年7月18日上午10:20:46 如何减去两个时间戳以获得时间上的持续时间 SELECT (firstDateColumn - secondDateColumn) * 24 * 60 difference_in_minutes FROM yourtable 如果日期为字符串,则首先转换日期: SELECT (TO_DATE(firstDateColumn, 'dd/mm/yyyy HH

我在一个表中有两个不同的字段,它们都有相同的时间戳格式

2012年7月18日上午10:19:48


2012年7月18日上午10:20:46

如何减去两个时间戳以获得时间上的持续时间

SELECT (firstDateColumn - secondDateColumn) * 24 * 60 difference_in_minutes
FROM yourtable
如果日期为字符串,则首先转换日期:

SELECT (TO_DATE(firstDateColumn, 'dd/mm/yyyy HH:MI:SS AM') - 
        TO_DATE(secondDateColumn, 'dd/mm/yyyy HH:MI:SS AM')) * 
        24 * 60 difference_in_minutes
FROM yourtable

字段的数据类型是什么?字符串还是日期时间?说实话,我不知道,但在SQL查询的where下我有
To_Date(To_chat(Table.field,'DD-MON-YYY'))
如果这有意义的话。@Mogli-为什么要将字段转换为字符,然后再转换为日期?在将
应用于_date(to _char())
之前,能否准确显示字段中的内容?(也许将日期时间四舍五入为一个日期?)此外,您确实应该了解数据类型,包括向您的同事寻求帮助。to_date(Table.field,'DD-MON-YYY')您使用的是哪种DBMS?您的错误和注释看起来像Oracle。
Oracle
标记和
MSDN
链接?我不会对这个答案投反对票,但其他人可能会投反对票。除非您更新/删除它…感谢我删除了Oracel标记,我尝试了您显示的代码,我得到了这个错误
在处理命令期间发生了一个或多个错误。ORA-00904:“DATEDIFF”:System.Data处的标识符无效。
@Mogli-为什么要删除
Oracle
标记???您的错误消息证明这是Oracle,请将标记放回原处。此答案和链接适用于MS SQL Server,但不适用于Oracle-这就是为什么在其中添加标记很重要的原因;不同的RDBMS有不同的答案。。。[在对答案进行编辑之前是这样的…]@Dems谢谢,您的第一个解决方案成功了,但如果我能在几个小时内显示,它会显示
0.96666..
,如
0:01
谢谢。。供其他人参考第二个显示此错误
ORA-01818:“HH24”阻止在系统中使用子午线指示器。