Синтаксис Netezza SQL для преобразования числового формата YYYYMMDD в дату

StackOverflow https://stackoverflow.com/questions/1211412

  •  06-07-2019
  •  | 
  •  

Вопрос

У нас есть таблица 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top