• Viernes 1 de Noviembre de 2024, 11:32

Autor Tema:  Problema Sentencia Sql En C#  (Leído 2132 veces)

colosoderada

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
Problema Sentencia Sql En C#
« en: Viernes 30 de Diciembre de 2005, 09:42 »
0
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.  :(

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Problema Sentencia Sql En C#
« Respuesta #1 en: Lunes 2 de Enero de 2006, 08:29 »
0
Hola,

creo que lo que tu quieresno lo puedes conseguir con una columnade datos con formato texto. Deberías intentar pasarlo a fecha, aunque no se si con esa BD es posible.
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Sentencia Sql En C#
« Respuesta #2 en: Martes 3 de Enero de 2006, 19:29 »
0
NO SE MUCHO DE SYBASE PERO PRUEBA ESTO

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] *
FROM Table WHERE field BETWEEN to_date('01/12/2005','dd/mm/yyyy') AND to_date('31/12/2005','dd/mm/yyyy')
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Problema Sentencia Sql En C#
« Respuesta #3 en: Miércoles 4 de Enero de 2006, 00:47 »
0
Cita de: "colosoderada"
Select * from Table where field between like "01/12/2005%" and like "31/12/2005%"
Despues del between no se usa el like pruebalo asi

Código: Text
  1. Select * from Table where field between &#34;01/12/2005&#34; and &#34;31/12/2005&#34;
  2.  
Tambien pruebalo con los apostrofes (comillas simples) en lugar de las comillas


 :comp:
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Problema Sentencia Sql En C#
« Respuesta #4 en: Miércoles 4 de Enero de 2006, 08:58 »
0
Hola,

Soultaker, lo que has puesto devolvería resultados pero no tendría el funcionamiento esperado.
Lo que se pretende es que esté entre esas Fechas, pero si las fechas se tratan como texto, con lo que tu has puesto devolvería textos que se encuentran entre esos dos valores pero alfabeticamente. Es decir, por ejemplo devolvería "02/11/2004" como uno de los valores porque alfabeticamente está entre "01/12/2005" y "31/12/2005"
Saludos
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Sentencia Sql En C#
« Respuesta #5 en: Miércoles 4 de Enero de 2006, 13:36 »
0
Cita de: "Güorker"
Hola,

Soultaker, lo que has puesto devolvería resultados pero no tendría el funcionamiento esperado.
Lo que se pretende es que esté entre esas Fechas, pero si las fechas se tratan como texto, con lo que tu has puesto devolvería textos que se encuentran entre esos dos valores pero alfabeticamente. Es decir, por ejemplo devolvería "02/11/2004" como uno de los valores porque alfabeticamente está entre "01/12/2005" y "31/12/2005"
Saludos
Totalmente de acuerdo.

Hasta donde sabia (una version muyyyyyyyy vuieja de sybase , hablo de +- 5 o 6 años atras) esta base de datos es intscticamente altamente compatible con oracle asi que spero que mi conseho te sirva.

Sino es así puedes intetar con variantes de las funciones trunc y posiblemente la round.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io