Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-06-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Extaer fecha y desglosar de un campo

Buenas de nuevo,

Otra vez dando guerra con las conversiones de tipos y siguiendo con el programita que me he propuesto sacar adelante, necesito unos consejos para saber si se puede y como, el sacar la fecha de nacimiento de una cadena que tiene el siguiente formato:

ESP19630225

Esto es un codigo UCI (de los ciclistas), y este es el mio personal, yo lo que necesito es primero extraer las tres letras de la izquierda lo cual ya tengo solucionado con:
Código SQL [-]
UPDATE CTR0003 SET NACIO = (SUBSTRING(CODIUCI FROM 1 FOR 3));

De esta manera actualizo el campo nacionalidad con el valor correspondiente.

Lo siguiente es poder convertir 19630225 en un campo fecha con formato 25/02/1963, todo desde una sql que me actualice el campo fecha nacimiento de mi tabla.

Algún consejo?

Gracias a todos

Josep
Responder Con Cita
  #2  
Antiguo 26-06-2013
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.

Siguiendo la misma línea que usas para extraer la nacionalidad:

Código SQL [-]
UPDATE CTR0003 SET 
  NACIO = (SUBSTRING(CODIUCI FROM 1 FOR 3)),
  FECHA_NACIMIENTO = CAST( (SUBSTRING(USERTEST FROM 10 FOR 2)||'-'||SUBSTRING(USERTEST FROM 8 FOR 2)||'-'||SUBSTRING(USERTEST FROM 4 FOR 4)) as TIMESTAMP);
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #3  
Antiguo 26-06-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Ha sido una respuesta perfecta, pero con una pequeña modificacion ya que el formato es DATE

Codigo modificado:

Código SQL [-]
 
UPDATE CTR0003 SET
  NACIO = (SUBSTRING(CODIUCI FROM 1 FOR 3)),
  DATA_NAIX = CAST( (SUBSTRING(CODIUCI FROM 4 FOR 4)||'/'||SUBSTRING(CODIUCI FROM 8 FOR 2)||'/'||SUBSTRING(CODIUCI FROM 10 FOR 2)) as DATE);

año/mes/dia

Gracias y saludos

Josep
Responder Con Cita
  #4  
Antiguo 26-06-2013
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Talking

Cita:
Empezado por jafera Ver Mensaje
Ha sido una respuesta perfecta,
Me alegro que te haya servido.

Cita:
Empezado por jafera Ver Mensaje
pero con una pequeña modificación ya que el formato es DATE
Ok, eso es porque usas Dialecto 3 y yo hice la prueba en una BD con dialecto 1.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #5  
Antiguo 26-06-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Gracias, uso ISO8859_1 y dialecto 3, calro.

El dialecto 1 tiene alguna ventaja respecto al 3?

Saludos

Josep
Responder Con Cita
  #6  
Antiguo 26-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jafera Ver Mensaje
ESP19630225
Esto es un codigo UCI (de los ciclistas), y este es el mio personal
Y si hay otro ciclista que haya nacido ese mismo día, ¿qué hacen?

Cita:
Empezado por jafera Ver Mensaje
El dialecto 1 tiene alguna ventaja respecto al 3?
Ninguna, al contrario, el dialecto 3 es más completo.
Responder Con Cita
  #7  
Antiguo 27-06-2013
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Cita:
Empezado por jafera Ver Mensaje
El dialecto 1 tiene alguna ventaja respecto al 3?
Para ver las diferencias entre los dialectos 1 y 3, revisa estos link:

http://www.firebirdsql.org/manual/isql-dialects.html

http://www.ibphoenix.com/resources/d...design/doc_171
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Agrupar por fecha, teniendo en el campo fecha y hora El_Raso Firebird e Interbase 3 18-03-2010 22:05:19
Extraccion fecha de un campo fecha y hora matti Firebird e Interbase 3 26-04-2007 19:48:11
Comparar una fecha de n campo date contra fecha actual amadis SQL 2 27-06-2005 21:37:41
desglosar srangel JAVA 1 29-09-2004 18:09:38
Desglosar fecha Un abrazo OOP 3 06-06-2003 11:53:23


La franja horaria es GMT +2. Ahora son las 22:54:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi