连接具有不同日期格式的表(文字与格式字符串不匹配)

问题描述 投票:0回答:1

我正在尝试连接两个 Oracle 表(基本上是根据另一个表中的日期提取每日汇率),但我从中提取日期的表中有时间戳。 我看到很多“文字与格式字符串不匹配”问题的解决方案,但它们似乎都是直接输入日期而不是从另一个表加入。 如果我没有正确理解早期的解决方案,我深表歉意,但我对 SQL 非常陌生。 我目前的代码基本上是:

select gdr.conversion_rate as "Rate", pa.agreement_date as "agreement Rate Date"
 from apps.gl_daily_rates gdr, apps.project_agreements pa    
where gdr.rate_date = pa.agreement_date

pa.agreement_date 值是其中带有额外时间戳的值。 我尝试在连接中的 pa.agreement_date 周围使用 todate 函数,但如果这是正确的解决方案,那么绝对没有正确执行。 谢谢!

sql join oracle-sqldeveloper ora-01861
1个回答
0
投票

您是否尝试过在这两个领域都申请

TO_DATE

SELECT
  gdr.conversion_rate as "Rate",
  pa.agreement_date as "agreement Rate Date"
FROM apps.gl_daily_rates gdr
JOIN apps.project_agreements pa
  ON TO_DATE(gdr.rate_date, 'DD-MON-RR') = TO_DATE(pa.agreement_date, 'YYYY/MM/DD HH24:MI:SS') 

旁注,我认为最好避免在

FROM
之后添加多个表格,而使用
JOIN
代替。

© www.soinside.com 2019 - 2024. All rights reserved.