ConvertJSONtoSQL и Putsql - ошибка, когда отметка времени равна нулю - PullRequest
0 голосов
/ 19 февраля 2019

Чтение CSV и вставка данных в таблицу.Используя convertJsonToSQL и поставить sql процессор.

Для обработки нулевых значений в метках времени, которые я использую

1) EvaluateJsonPath (вырезать все поля меток времени и назначить как sql.args.7.original) и

2) затем используйте ConvertJSONToSQL, после чего

3) я использую UpdateAttribute - где я проверяю нулевые значения и присваиваю нулевые значения, и если их исходные значения не равны нулю, тогда я присваиваю соответствующее значение.(IF NULL sql.args.7.value = NULL)

Поток работает идеально, если есть ненулевое значение.

Если есть нулевое значение, то он выдает ошибку на процессоре PUTSQL со следующей ошибкой: «значение sql.args.7.value равно NULL, которое не может быть преобразовано в метку времени».

PS: я пытался передать пустую строку / -1 / null с кавычками и без них.Это не похоже на работу.

ОБНОВЛЕНИЕ:

выражение, используемое, если значением является нулевое имя: sql.args.7.value, значение: нулевое.

ЕСЛИ не равно NULL, то $ {sql.args.7.original: toDate ("гггг-ММ-дд"): toNumber ()}

Я попытался также не использовать присвоение нулевого значения. (Например, процесс, только если значение не равно нулю.Этот вариант использования также не работает)

1 Ответ

0 голосов
/ 19 февраля 2019

Я думаю, что из-за того, что ваши значения находятся в атрибутах (для значений параметров PreparedStatement), а атрибуты имеют строковые значения, вы не сможете иметь реальное null в качестве значения, но я рассмотрю его.В то же время, возможно, попробуйте PutDatabaseRecord, который должен устранить необходимость преобразования JSON в SQL и, следовательно, не использовать атрибуты для значений столбцов.

...