ADF SQL查询,日期前后用单引号引起来

时间:2019-06-27 00:04:52

标签: oracle azure escaping concat azure-data-factory-2

我正在尝试根据日期从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”}

1 个答案:

答案 0 :(得分:0)

您应该使用''来转义单引号。

我的示例:@{concat('DELETE FROM MyTable WHERE [ColumnDate] LIKE','''',pipeline().parameters.processYear,pipeline().parameters.processMonth,'%','''')}