在Oracle上查找天差

时间:2018-11-29 16:09:16

标签: oracle oracle11g oracle-sqldeveloper

下面的SQL给了我无效数字错误。

请告知-

select 
  TRUNC(Sysdate-1) - TO_CHAR(TO_DATE("$25->$5 Date",'MM/DD/YYYY HH:MI:SS'), 'MM/DD/YYYY'),
  "$25->$5 Date"
from Conversion_Payer
Where "Benefit Converted" is not null 
  and "$25->$5 Date" is not null

谢谢!

1 个答案:

答案 0 :(得分:0)

呵呵;我最初以为这不是Oracle。显然,它是,但是您使用的列名实在是太糟糕了。我建议您摆脱这些。

为了获得两个 DATE 数据类型列之间的差异,您必须转换那些不是DATE的列。我认为“ $ 25-> $ 5日期”是一个字符,所以您会

select 
  TRUNC(Sysdate-1) - TO_DATE("$25->$5 Date",'MM/DD/YYYY HH:MI:SS') diff_in_days,
  "$25->$5 Date"
from Conversion_Payer
Where "Benefit Converted" is not null 
  and "$25->$5 Date" is not null

另一方面,如果“ $ 25-> $ 5 Date”是DATE数据类型,则只需从SYSDATE中减去它(即无需转换):

select 
  TRUNC(Sysdate-1) - "$25->$5 Date" diff_in_days
...