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

Problema sentencia SQL en C#

Estas en el tema de Problema sentencia SQL en C# en el foro de Bases de Datos General en Foros del Web. Hola a todo el mundo tengo un problema con una campo en una tabla de una base de datos en Sybase, mi problema es que ...
  #1 (permalink)  
Antiguo 30/12/2005, 02:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
Problema sentencia SQL en C#

Hola a todo el mundo tengo un problema con una campo en una tabla de una base de datos en Sybase, mi problema es que el campo es de tipo char(30) y contiene datos como "01/12/2005 10:12:25" y claro yo quisiera hacer una selección de x días por ejemplo
del día 01/12/2005 to 31/12/2005 y mostrarlo en un datagrid "en C#" pero no hay manera porque no tengo ni idea como puedo hacer la selección

He probado hacer algo como esto "pero me da error"

Select * from Table where field between like "01/12/2005%" and
like "31/12/2005%"

Si hago esto no hay ningún problema:

Select * from Table where field like "01/12/2005%"

Alguna idea o ejemplo de como podría hacerlo ????
Gracias por leer este mensaje y un saludo.
  #2 (permalink)  
Antiguo 30/12/2005, 10:07
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola.. lo que me llama la atencion es porque tienen un campo de tipo Char para guardar la fecha.?? porque no lo hicieron desde un principio de tipo datetime.??

Pero en fin.. puedes hacer un cast para pasar el char a datetime y poder hacer el between..

podría ser algo así:

Cita:
SELECT * from Table
where CONVERT(DATETIME,field) BETWEEN
CONVERT(DATETIME,"Dec 12 2005 00:00:00:000PM") AND
CONVERT(DATETIME,"Dec 31 2005 00:00:00:000PM")
no estoy seguro de la sintaxis para Sybase pero esa sería mas o menos la idea...

Pruebalo y nos cuentas que tal te fue.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 30/12/2005, 10:08
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Por cierto, veo que tu post está ma dirigido a base de datos.. te mando al foro correspondiente para que tambien ahi te puedan ayudar mas fácil

movido desde foro de .Net
  #4 (permalink)  
Antiguo 30/12/2005, 12:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
Asi

Select * from Table where substring(field ,1,10) >= "01/12/2005" and substring(field ,1,10) <= "31/12/2005"

Si igual no entrega toda la informacion prueba esto

declare @hora1 char(8)
declare @hora2 char(8)
declare @fechaini char(10)
declare @fechafin char(10)
declare @fecha1 datetime
declare @fecha2 datetime

select @hora1 = "00:00:00"
select @fechaini = "01/12/2005"
select @fecha1 = convert(datetime,@fechaini + ' ' + @hora1)
select @hora2= "23:59:59"
select @fechafin = "31/12/2005"
select @fecha2 = convert(datetime,@fechafin + ' ' + @hora2)

select * from Table where convert(datetime,field) between @fecha1 and @fecha2
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 16:39.