Синтаксис Netezza SQL для преобразования числового формата YYYYMMDD в дату
Вопрос
У нас есть таблица Netezza, которая содержит даты, хранящиеся в числовом формате YYYYMMDD (например, 20090731).
Какой синтаксис Netezza лучше всего использовать для преобразования этого в формат даты?
например
SELECT somefunction(20090731) as NZDATE
?
Решение
Самым простым способом преобразовать число в дату было бы
select date(to_char(20090731,'99999999')) as Number_As_DATE;
Другие советы
Вы можете использовать этот, потому что он самый лучший.
SELECT TO_DATE('20090731','YYYYMMDD') as NZDATE
to_date (sk_dim_time ,'YYYYMMDD')
Первоначально мои усилия были сорваны из-за неверных дат.Приведенный ниже код действительно работает до тех пор, пока вы оборачиваете его в инструкцию для отслеживания неверных дат.
select to_date(substring(20090731 from 1 for 8),'YYYYMMDD') as NZDATE
Очевидно 20090731
должно быть заменено именем числовой переменной.
select to_date(20090731,'YYYYMMDD') as Number_As_DATE
Это будет работать без преобразования в char.
Не связан с StackOverflow