La syntaxe SQL de Netezza pour convertir le format numérique AAAAMMJJ en date
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
?
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