Поля исходной даты, поступающие в мой поток, выглядят как обычная дата в формате ГГГГ-ММ-ДД. Я хотел бы использовать оператор условного разделения, чтобы проверить, может ли конкретный столбец быть преобразован в столбец даты.
Я пытался использовать что-то вроде этого:
isNull(toDate($column_list[3])) == false()
Но он не работает должным образом -> он отклоняет каждую строку....
Вы можете помочь?
Привет @Konrad Samulski, если мой ответ полезен для вас, надеюсь, вы примете его как ответ (нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный). Это может быть полезно другим участникам сообщества. Если у вас есть какие-либо другие проблемы, пожалуйста, дайте мне знать, спасибо!
По моему опыту, если поступающие данные (мы считаем, что это строковые данные по умолчанию) не являются допустимой строкой даты, результат функции toDate()
вернет NULL
.
Ссылка на этот пример:
Как вы сказали, поступающие данные представляют собой обычную дату в формате ГГГГ-ММ-ДД, это допустимые данные даты (строка), и это приведет к тому, что выражение isNull(toDate($column_list[3]))
всегда будет возвращать false
(не нуль), тогда false()==false()
также всегда будет возвращать true.
Выражение всегда будет возвращать true, поэтому оно не работает.
Как вы сказали, поступающие данные представляют собой обычную дату в формате ГГГГ-ММ-ДД, это допустимые данные даты (строка), и это приведет к тому, что выражение
isNull(toDate($column_list[3]))
всегда будет возвращатьfalse
(не нуль), затем «false () == false ( ) ' также всегда будет возвращатьсяtrue
.