使用左外部联接+语法时发生ORA 00936错误

| 我有两个表:T1和T2 T1具有一个DATE列:CT1 T2具有一个DATE列:CT2 我想让外部连接T1和T2具有连接条件:
trunc(CT1,\'Mi\')=trunc(CT2,\'Mi\')(+)
当我尝试运行此SQL时,收到错误ORA 00936:缺少表达式。 知道这里有什么问题吗?     
已邀请:
        我认为您需要在适用的列名后立即放置“ 1”运算符。
trunc(CT1,\'Mi\')=trunc(CT2 (+),\'Mi\')
\“(+)运算符只能应用于一列,不能应用于任意表达式。但是,任意表达式可以包含一个或多个标有(+)运算符的列。 oracle.com/docs/cd/B19306_01/server.102/b14200/queries006.htm) 无论如何,我建议使用ANSI语法。它更清晰,功能更强大且可移植。     
        尝试使用ANSI语法:
T1 LEFT OUTER JOIN T2 ON TRUNC(CT1,\'Mi\')=TRUNC(CT2,\'Mi\')
(+)外部联接语法有一些限制,这可能是其中之一。当然,如果更改此联接,则必须全部更改-您不能将两者混在一起。     

要回复问题请先登录注册