Как проверить поле даты в потоках сопоставления фабрики данных Azure в условном операторе разделения

Поля исходной даты, поступающие в мой поток, выглядят как обычная дата в формате ГГГГ-ММ-ДД. Я хотел бы использовать оператор условного разделения, чтобы проверить, может ли конкретный столбец быть преобразован в столбец даты.

Я пытался использовать что-то вроде этого:

isNull(toDate($column_list[3])) == false()

Но он не работает должным образом -> он отклоняет каждую строку....

Вы можете помочь?

Как вы сказали, поступающие данные представляют собой обычную дату в формате ГГГГ-ММ-ДД, это допустимые данные даты (строка), и это приведет к тому, что выражение isNull(toDate($column_list[3])) всегда будет возвращать false (не нуль), затем «false () == false ( ) ' также всегда будет возвращаться true.

Leon Yue 10.12.2020 16:50

Привет @Konrad Samulski, если мой ответ полезен для вас, надеюсь, вы примете его как ответ (нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный). Это может быть полезно другим участникам сообщества. Если у вас есть какие-либо другие проблемы, пожалуйста, дайте мне знать, спасибо!

Leon Yue 16.12.2020 03:33
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
674
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По моему опыту, если поступающие данные (мы считаем, что это строковые данные по умолчанию) не являются допустимой строкой даты, результат функции toDate() вернет NULL.

Ссылка на этот пример:

Как вы сказали, поступающие данные представляют собой обычную дату в формате ГГГГ-ММ-ДД, это допустимые данные даты (строка), и это приведет к тому, что выражение isNull(toDate($column_list[3])) всегда будет возвращать false (не нуль), тогда false()==false() также всегда будет возвращать true.

Выражение всегда будет возвращать true, поэтому оно не работает.

Другие вопросы по теме

Поддерживает ли Purview информацию о происхождении для встроенных наборов данных потока данных ADF?
Поддержка Azure Purview для приемника формата Delta в потоке данных ADF
Зарегистрируйте состояние запуска конвейера ADF (Azure Data Factory)
Как получить значение столбца из CSV-файла ADLS gen 2 и использовать значение столбца в теле письма, а также отправить данные BLOB-объектов в виде вложения в почту Outlook
Сбой действия Azure ForEach: функция length ожидает, что ее параметр будет массивом или строкой. Предоставленное значение имеет тип «Целое число»
Поток данных ADF json Flatten Развернуть
Столбец JSON SQL в фабрике данных Azure
Фабрика данных Azure Получить действие метаданных, возвращающее ошибку "(404) не найдено" при получении количества столбцов
RunOutput не появляется даже после использования dbutils.notebook.exit в ADF
Сопоставление определенного значения со столбцом в параметризованном действии копирования в Фабрике данных Azure