Sintaxis de Netezza SQL para convertir el formato numérico AAAAMMDD en fecha
Pregunta
Tenemos una tabla Netezza que contiene fechas almacenadas en un formato numérico AAAAMMDD (por ejemplo, 20090731).
¿Cuál es la mejor sintaxis de Netezza para convertirla al formato de fecha?
por ejemplo
SELECT somefunction(20090731) as NZDATE
?
Solución
La forma más fácil de convertir un número a la fecha sería
select date(to_char(20090731,'99999999')) as Number_As_DATE;
Otros consejos
Puedes usar este, ya que es el mejor.
SELECT TO_DATE('20090731','YYYYMMDD') as NZDATE
to_date (sk_dim_time ,'YYYYMMDD')
Mis esfuerzos fueron frustrados originalmente debido a fechas inválidas. El siguiente código funciona siempre que lo envuelva en una declaración para detectar fechas incorrectas.
select to_date(substring(20090731 from 1 for 8),'YYYYMMDD') as NZDATE
Obviamente 20090731
debe reemplazarse con el nombre de la variable numérica.
select to_date(20090731,'YYYYMMDD') as Number_As_DATE
Esto funcionará sin convertir a char.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow