Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

De varchar a date

Estas en el tema de De varchar a date en el foro de Oracle en Foros del Web. Alguien me puede orientar que estoy haciendo mal? Pretendo pasar de un campo varchar a un campo date. Tengo esto: select rownum, test, texta from ...
  #1 (permalink)  
Antiguo 06/08/2010, 05:06
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 3 meses
Puntos: 0
De varchar a date

Alguien me puede orientar que estoy haciendo mal? Pretendo pasar de un campo varchar a un campo date.

Tengo esto:

select rownum, test, texta
from a1_meta_voc
where name = 'TA_Calendar' and test = 'Reuters' and rownum < 10;

Row Test Texta
1 Reuters Jan 29, 2010 11:47
2 Reuters Feb 1, 2010 3:11
3 Reuters Feb 5, 2010 5:56
4 Reuters Feb 8, 2010 6:51
5 Reuters Feb 9, 2010 8:29
6 Reuters Feb 09, 2010 2:30
7 Reuters Feb 09, 2010 6:55
8 Reuters Mar 2, 2010 5:53
9 Reuters Feb 1, 2010 1:39

Texta: es un campo varchar y lo quiero pasar a otro campo de otra tabla pero de tipo date. Para eso pongo:

select rownum, test, texta, to_date(texta,'MON DD, YYYY HH:MI')
from a1_meta_voc
where name = 'TA_Calendar' and test = 'Reuters' and rownum < 10;


Pero me arroja el siguiente error:

ORA-01843: Kein gültiger Monat
01843. 00000 - "not a valid month"
*Cause:
*Action:

Cuando hago la prueba de:

select to_date('Jan 29, 2010 11:47','MON DD, YYYY HH:MI')
from dual;

29.01.10

Si observan es exactamente el mismo que el primer registro de mi tabla.

NO entiendo que pasa!?!?!?

Mil gracias por su apoyo.
  #2 (permalink)  
Antiguo 06/08/2010, 07:07
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: De varchar a date

Según el mensaje de error que parece estar en aleman, con el mes que pareces tener problema es con marzo.

Prueba esto
Código SQL:
Ver original
  1. SELECT TO_DATE('Mar 2, 2010 5:53','MON DD,YYYY HH:MI') FROM DUAL;

Con un solo registro que falle, a consulta falla y no es posible mostrarla.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 09/08/2010, 01:31
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: De varchar a date

Huesos52,

Eres un genio. Mil gracias, si fue eso.
  #4 (permalink)  
Antiguo 09/08/2010, 01:55
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: De varchar a date

Pero ahora tengo otro problemita.

Resulta que no todos los registros vienen iguales.

Tengo estas variantes de formatos:

1. Jun 18, 2010 15:28
2. Jun 18
3. 18 Jun 2010

Hay alguna forma de poner una condicion en base al formato? Es decir

select texta from a1_meta_voc where texta = "este formato"
  #5 (permalink)  
Antiguo 09/08/2010, 08:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: De varchar a date

Estas validaciones son muy especificas del tipo de información que tienes guardado.
Mira este ejemplo
http://foro.undersecurity.net/read.php?69,1797,1797

Fijate que esta función valida el formato de un RUT y será tan efectivo siempre y cuando se tengan en cuenta un gran numero de condiciones. Podrías hacer lo mismo con tus fechas, comparando la longitud de la cadena y otros cuantos trucos.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: date, varchar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.