Проверьте, являются ли поля в столбце датами, и конвертируйте их

Я создаю процесс, который в конечном итоге будет получать данные из одного места и помещать их в другое. Чтобы это произошло, мне нужно преобразовать свои данные.

У меня есть столбец, который содержит строки и даты

timestamp
20POST /xxxei/adsa/ContentVis HTTP/1.1  Host: fa.aweb.com
2016-12-18T00:15:10.289Z
2016-11-06T04:09:54.503Z

Я делал это:

select cast(left("timestamp",10) as timestamp)

но теперь мой процесс терпит неудачу, потому что я не учел это как значение:

20POST /xxxei/adsa/ContentVis HTTP/1.1  Host: fa.aweb.com

Моя система не принимает функцию ISDATE(), есть ли у вас, ребята, идеи этого Синко де Майо.

1 ответ

Вы можете использовать такую ​​функцию, как DAY() в этой строке. если он возвращает ноль, это недействительная дата

Более конкретно для вашего случая:

SELECT DAY('20POST /xxxei/adsa/ContentVis HTTP/1.1  Host: fa.aweb.com') IS NOT NULL as is_date;

SELECT DAY('2016-12-18T00:15:10.289Z') IS NOT NULL as is_date;
Другие вопросы по тегам