Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
juanpelaezisgal
Contributor II
Contributor II

Extraer la fecha de un campo

Buenas tardes,

Accediendo a una Base de Datos de Oracle me encuentro que los campos FECHA vienen en el formato DDMMAAAAHHMM ( dia,mes,año,hora,minutos), lo que quería en la SELECT es poder separar los campos y tener solo la fecha ……

No se muy bien como se hace, alguien que pueda orientarme ?,

Gracias.

7 Replies
asiic999
Contributor II
Contributor II

en el proceso de transformación puedes usar algo así

Date(Fecha,'DD/MM/YYYY') as Fecha


o descomponerlo en caso de que el formato de origen no permita lo anterior

date( Date(Fecha,'DD')&'/'& Date(Fecha,'MM')&'/'&Date(Fecha,'YYYY') )  as Fecha

mkcfernandez
Contributor
Contributor

Como dice Juan Frias una de las forma es la siguiente

Date(NombreCampoFecha, 'DD/MM/YYYY') as NombreParaIdentificarEsteCampo,

este es el método que yo utilizo espero te sea de ayuda

jmmayoral3
Creator
Creator

Si tienes acceso a la SELECT que ataca a ORACLE,  cuando lees el campo  de la fecha utiliza la función TRUNC(<campo_fecha>) para quedarte sólo con la fecha y quitar la hora.

juanpelaezisgal
Contributor II
Contributor II
Author

Buenas,

No Es Lo Que Queria Hacer exactamente , Efectivamente es en la SELECT Contra una base de Datos de Oracle, si pongo Lo Que Me Dices:

TRUNCAR (TO_DATE (FCREACION)) AS FCREA

Me Devuelve todos los campos Así:

14/01/2014 12:00:00 AM

01/15/2014 12:00a.m.

.

Y Lo Que Queria es Hacer Desaparecer La Hora Que Quedara solo la parte de la Fecha.

juanpelaezisgal
Contributor II
Contributor II
Author

Puffff, este foro va un poco raro, cambia los textos, creo que se entiende

juanpelaezisgal
Contributor II
Contributor II
Author

Ya lo he resuelto :

to_char(FCREACION, 'YYYY-MM-DD') AS FCREA

 

 

jmmayoral3
Creator
Creator

Lo que cuentas es muy raro. TRUNC(FECHA) debería darte la fecha redondeada al día más cercano, osea ,quitando la hora. 

Si te está devolviendo eso, quizá sea problema del driver ODBC que estas usando.

en cualquier caso, si no te funciona bien en la cláusula SELECT prueba esto en el LOAD

LOAD...... ,
      DATE(DATE#(LEFT(FECHA,10),'MM/DD/YYYYY'),'MM/DD/YYYYY')