SQL - Problema con el campo hora

 
Vista:

Problema con el campo hora

Publicado por rafa (10 intervenciones) el 29/07/2008 14:08:00
Hola tengo un problema con una serie de consultas que ejecuto sobre una BD en SQL Server 2005. Desde visual studio 2005.
El problema rádica en que ambos campos que comparo son DateTime, siendo un datetimepicker que me genera una cadena(Datetime) con el siguiente formato "dd/mm/yyyy hh:mm:ss" y por otro lado se almacena en la BD como campo Datetime. Hasta ahí todo correcto.

El problema viene cuando comparo una serie de valores datetime que he filtrado y añadido a un combobox , por lo tanto que existen en la base de datos. para mas tarde hacer otro filtrado.
Dim fecha as datetime=combobox.text
Lo muestro por pantalla el contenido de fecha siempre es del mismo formato "dd/mm/yyyy hh:mm:ss"
y cuanto hago un select de este tipo " select id from tabla1 where fecha_edicion =' " &fecha& "'"

Me peta y me dice error en la primera posición de la hora. Como que la fecha si que la reconoce pero cuando llega a la hora peta.
De momento la unica solucion es eliminar manualmante todas las horas del campo fecha_edicion.

Entonces me gustaría saber que es lo que pasa y como solucionarlo, porque no entiendo como dos campos del mismo tipo y que existen me da error.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con el campo hora

Publicado por Isaias (5072 intervenciones) el 29/07/2008 18:52:02
El manejo de los campos FECHA en SQL Server, como en otros muchos motores de bases de datos, se hace mediante el formato ANSI (ya se ha explicado esto en los foros).

Por tanto, el formato de tus parametros, debe cumplir con el formato ANSI (yyyymmdd hh:mm:ss, nnn)

Y las comparaciones deben ser:

WHERE tucolumna >= @FechaIni AND tucolumna <= @FechaFin

NUNCA con el signo IGUAL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con el campo hora

Publicado por xpomp (10 intervenciones) el 01/08/2008 13:58:13
Gracias por responder, pero lo he podido arreglar mediante.

....where convert(nvarchar,fecha_edicion,103) = '" & fecha.ToString.Substring(0, 10)

Aunque despreciando totalmente la hora. Puesto que en este caso no necesito que esté entre tal y tal sino que sea =, me da lo mismo perder la propiedades de comparción, lo convierto todo string y fuera, aunque algún día necesitaré la hora y supongo que tendre que utilizar otro estilo del convert.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar