Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2008
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Convertir String a Fecha

Buen día. Sucede que tengo una tabla con un campo de tipo string donde se almacena una fecha, por ejemplo: '26/11/2008'. Lo que necesito es convertir esa cadena a entero, pero dandole el formato 20081126.

Seria facil hacer un convert pero este solo funciona si mi campo destino fuera datetime y no int ¿cierto?.

¿Alguna idea?
Gracias.
Responder Con Cita
  #2  
Antiguo 03-12-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
que base de datos utilizas? puedes hacer el cambio a tipo fecha y despues darle el formato, o usar las funciones de cadena como copy para generar el numero y lo conviertes
Responder Con Cita
  #3  
Antiguo 03-12-2008
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Disculpen que omití ese detalle, utilizo SQL Server 2000.
Voy a replantear el problema: ¿Cómo hago para convertir '26/11/2008' (string) a datetime?

Código SQL [-]
select cast(mov_date as datetime) from bbstat_temp_sql

intenté eso pero obviamente no funcionó, ¿qué es lo que me falta?

Gracias.

Edito: Gracias bluesteel por tu respuesta, la leí hasta despues de haber posteado este mensaje. Pero el problema no era convertir fecha -> string -> entero sino string -> fecha -> entero. Aunque como dije antes, quisiera solamente saber como convertir de string a fecha. Lo demás ya lo tengo claro.

Última edición por Gaim2205 fecha: 03-12-2008 a las 17:55:12. Razón: No había leído una respuesta previa.
Responder Con Cita
  #4  
Antiguo 03-12-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
No se si en sql server te pueda funcionar o si exista substring

en caso de que si exista podrias hacerlo asi

Código SQL [-]
select substring(campo from 7 for 4)||substring(campo from 4 for 2)||substring(campo from 1 for 2) from tabla

el resultado que tendras es 20081126 como lo requieres originalemente
si lo necesitas en formato fecha tendras que adicionar unas cositas

Código SQL [-]
select cast(substring(campo from 4 for 2)||'/'||substring(campo from 1 for 2)||'/'||substring(campo from 7 for 4)) as date) from tabla

Espero te funcione en sql server
Responder Con Cita
  #5  
Antiguo 03-12-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
puedes usar el cast para convertir el string en fecha, solo te falto un pqueño detalle:

Código SQL [-]
Set Dateformat dmy --pone el formato de fecha en dia mes año, por default es mdy
select cast(mov_date as datetime) from bbstat_temp_sql

aclaraciones:

1.- hecospina > MS SQL no maneja substring
2.- el set Dateformat es solo el formato para conversion no para mostrar
Responder Con Cita
  #6  
Antiguo 03-12-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
Luis
Me imagino que tiene una funcion que sea similar, por ejemplo COPY como tu mismo lo indicas en un post anterior y podria utilizarla
Responder Con Cita
  #7  
Antiguo 04-12-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
asi es, tiene una similar, pero segun recuerdo es muy engorrosa...
Responder Con Cita
  #8  
Antiguo 03-12-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Wink

Cita:
Empezado por Gaim2205 Ver Mensaje
Buen día. Sucede que tengo una tabla con un campo de tipo string donde se almacena una fecha, por ejemplo: '26/11/2008'. Lo que necesito es convertir esa cadena a entero, pero dandole el formato 20081126.

Seria facil hacer un convert pero este solo funciona si mi campo destino fuera datetime y no int ¿cierto?.

¿Alguna idea?
Gracias.
pero igual se puede hacer desde SQL...

primero debes convertir la fecha en un string, y luego pasar ese string a numerico

yo probe esto y me funcionó super

Código SQL [-]
Select Convert(Numeric, (CONVERT(Char(10), Horario.Hor_Fecha, 112)))
From Horario

Salu2
__________________
BlueSteel
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
problemas, convertir fecha desde un string spyfenix OOP 9 20-12-2007 19:25:05
convertir string a pchar rzf1983 Varios 5 22-10-2007 19:17:33
convertir string jsanchez Varios 3 31-07-2006 22:23:19
Convertir de String a un Array albertoP Internet 3 27-04-2006 22:20:50
Convertir un String a Integer Rafe Varios 2 12-08-2005 17:43:38


La franja horaria es GMT +2. Ahora son las 20:54:30.


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