我正在尝试根据日期从oracle进行简单的提取。最终,我需要此查询是动态的,因此在ADF中使用@concat()函数。为简单起见,我想使用concat在ADF中运行以下oracle查询。
由于oracle需要单引号,因此我试图通过使用两个单引号将其转义。
oracle查询:
select * from schema.customer where updated > to_date('06/25/2019','MM/DD/YYYY')
这是我的ADF文字:
@concat('从* .iris_customer中选择*,其中已更新> to_date(','''''06/25/2019''','''MM / DD / YYYY''',');')
我使用to_date是因为遇到了“无效月份”错误,并认为我可以解决它。这是我遇到的错误:
{ “ errorCode”:“ 2200”, “消息”:“失败发生在”源“端。ErrorCode= UserErrorUnclassifiedError,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message = Odbc 操作方式 失败。,源= Microsoft.DataTransfer.ClientLibrary.Odbc.OdbcConnector,''Type = System.Data.Odbc.OdbcException,Message = ERROR [22008] [Microsoft] [ODBC Oracle Wire Protocol 驱动程序] [Oracle] ORA-01843:无效月份,Source = msora28.dll,'“, “ failureType”:“ UserError”, “ target”:“ copy_to_adl”}
答案 0 :(得分:0)
您应该使用''
来转义单引号。
我的示例:@{concat('DELETE FROM MyTable WHERE [ColumnDate] LIKE','''',pipeline().parameters.processYear,pipeline().parameters.processMonth,'%','''')}