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 BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
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
  #4  
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
  #5  
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
  #6  
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
  #7  
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
  #8  
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
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 04:21:24.


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