La syntaxe SQL de Netezza pour convertir le format numérique AAAAMMJJ en date

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

  •  06-07-2019
  •  | 
  •  

Question

Nous avons une table Netezza contenant des dates stockées dans un format numérique AAAAMMJJ (par exemple, 20090731).

Quelle est la meilleure syntaxe Netezza à utiliser pour convertir cela au format de date?

par exemple

SELECT somefunction(20090731) as NZDATE

?

Était-ce utile?

La solution

Le moyen le plus simple de convertir un nombre en date serait

select  date(to_char(20090731,'99999999')) as Number_As_DATE;

Autres conseils

Vous pouvez utiliser celui-ci car c'est le meilleur.

SELECT TO_DATE('20090731','YYYYMMDD') as NZDATE
to_date (sk_dim_time ,'YYYYMMDD')

Mes efforts ont été vains à l’origine en raison de dates invalides. Le code ci-dessous fonctionne tant que vous l'enroulez dans une instruction permettant d'attraper les mauvaises dates.

select  to_date(substring(20090731 from 1 for 8),'YYYYMMDD') as NZDATE

Évidemment, 20090731 doit être remplacé par le nom de la variable numérique.

select to_date(20090731,'YYYYMMDD') as Number_As_DATE

Cela fonctionnera sans conversion en caractère.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top