Первый формат 'yyyy-MM-dd HH:mm:ss'
, второй 'MMM dd yyyy hh:mm:aa'
. Если формат неправильный, функция unix_timestamp
вернет NULL
. Попробуйте преобразовать, используя один формат, если NULL
, попробуйте преобразовать, используя другой формат. Это можно сделать с помощью функции coalesce
:
select
coalesce(unix_timestamp(start_timestamp ,'yyyy-MM-dd HH:mm:ss'),
unix_timestamp(start_timestamp ,'MMM dd yyyy hh:mm:aa')
) as UnixTimestamp
from my_table;
Используйте from_unixtime()
, чтобы преобразовать его в заданный формат, если необходимо, как в этом ответе .
См. Примеры шаблонов здесь: SimpleDateFormat