ADF SQL Query с одинарными кавычками вокруг дат - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь сделать простое извлечение из оракула на основе даты.В конце концов мне нужно, чтобы этот запрос был динамическим, поэтому с помощью функции @concat () в ADF.Для простоты я хочу выполнить приведенный ниже запрос оракула в ADF с concat.

Поскольку оракулу требуются одинарные кавычки, я пытаюсь избежать его, используя две одинарные кавычки.

oracle query:

select * from schema.customer where updated > to_date('06/25/2019','MM/DD/YYYY')

вот мой текст ADF:

@ concat ('select * from iris.iris_customer, где обновлено> to_date (', '''06 / 25/2019' '', '' MM / DD / YYYY '' ','); ')

Я использую to_date, потому что получаю' not aдействительный месяц 'ошибка и думал, что я мог бы решить ее.Вот ошибка, которую я получаю:

{"errorCode": "2200", "message": "Ошибка произошла на стороне" источника ". ErrorCode = UserErrorUnclassifiedError, 'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message = Odbc Operation Failed., Source = Microsoft.DataTransfer.ClientLibrary.Odbc.OdbcConnector, '' Type = System.Data.Odbc.OdbcException, Message = ERROR [22008] [Microsoft] [ODBC Oracle WireДрайвер протокола] [Oracle] ORA-01843: недопустимый месяц, Source = msora28.dll, '"," faultType ":" UserError "," target ":" copy_to_adl "}

1 Ответ

0 голосов
/ 27 июня 2019

вы должны использовать '' для экранирования одинарных кавычек.

Мой пример: @{concat('DELETE FROM MyTable WHERE [ColumnDate] LIKE','''',pipeline().parameters.processYear,pipeline().parameters.processMonth,'%','''')}

...