Principales respuestas
consulta procedimiento almacendado fecha y hora

Pregunta
-
buenas tardes amigos
estoy haciendo una aplicación de estacionamiento de vehículos en vb.net 2015 y sql 2014
estoy tratando de hacer un procedimiento almacenado para mostrar las patentes los vehículo que fuero ingresados hoy para mostrarlo en una grilla que muestre la fecha y hora y su codigo , patente
la tabla esta compuesta de esta forma
idEntradaVehiculo(int)
pantete = char(8)
FechaHoraEntrada = campo datetime
Codigo int
procedimiento almacenado
create procedure NC_ListarPlaca AS BEGIN SELECT Placa,FechaHoraEntrada,Codigo FROM EntradaVehiculo WHERE DATE_FORMAT(FechaHoraEntrada, '%Y-%m-%d') = DATE(NOW()) END
me manda el error de 'DATE_FORMAT' no es un nombre de función integrada reconocido.
Respuestas
-
SELECT Placa,FechaHoraEntrada,Codigo
FROM EntradaVehiculo
WHERE convert(date,FechaHoraEntrada) >= convert(date,GETDATE()) AND convert(date,FechaHoraEntrada) <= convert(date,GETDATE())Saludos mi estimado !!!!!!!
- Marcado como respuesta djnilo viernes, 7 de octubre de 2016 21:39
-
Hola djnilo, si lo que quieres es obtener los vehiculos ingresados hoy, yo usaría
WHERE convert(date,FechaHoraEntrada) = convert(date,GETDATE())
pues nunca habrá en tu registro algun vehículo que haya ingreso despues de ahora (GETDATE()). De forma general para una condición como la de tu WHERE puedes usar
WHERE convert(date,FechaHoraEntrada) BETWEEN convert(date,FechaInicial) AND convert(date,FechaFinal)
Saludos.
- Marcado como respuesta djnilo sábado, 8 de octubre de 2016 19:10
Todas las respuestas
-
Estimado la solucion seria de esta forma
create procedure NC_ListarPlaca AS BEGIN SELECT Placa,FechaHoraEntrada,Codigo FROM EntradaVehiculo WHERE FechaHoraEntrada = convert(datetime,getdate()) END
Prueba con esto y me avisas deberia de solucionar tu problema.
Par SQL Server se utiliza la funcionar CONVERT para cambiar el tipo de datos.
CONVERT(TIPO DE DATO A CONVERTIR,DATO A CONVERTIR )
Saludos!!!!!!!!!!!!!!
-
muchas gracias por responder Raul Sarachaga
pero me devuelve vacios los datos no muestra nada
Public Function MOSTRAR_MATRICULAS(ByVal obj As Capa_Entidad.VregistroEntrada) Dim cn As New SqlConnection(conexion.Connectionstring) Dim dtprov As New Data.DataTable Try cn.Open() dapprov.SelectCommand = cn.CreateCommand dapprov.SelectCommand.CommandText = "NC_ListarPlaca" dapprov.SelectCommand.CommandType = CommandType.StoredProcedure dapprov.SelectCommand.ExecuteNonQuery() dapprov.Fill(dtprov) Return dtprov Catch ex As Exception MsgBox(ex.Message) Throw New Exception(ex.Message) Finally If cn.State = ConnectionState.Open Then cn.Dispose() cn.Close() End If End Try End Function
-
-
-
SELECT Placa,FechaHoraEntrada,Codigo
FROM EntradaVehiculo
WHERE convert(date,FechaHoraEntrada) >= convert(date,GETDATE()) AND convert(date,FechaHoraEntrada) <= convert(date,GETDATE())Saludos mi estimado !!!!!!!
- Marcado como respuesta djnilo viernes, 7 de octubre de 2016 21:39
-
muchas gracias esta me funciono gracias Raul Sarachaga
SELECT Placa,FechaHoraEntrada,Codigo FROM EntradaVehiculo WHERE convert(date,FechaHoraEntrada) >= convert(date,GETDATE()) AND convert(date,FechaHoraEntrada) <= convert(date,GETDATE())
¿porque hay ponerle la convert(date?
SELECT Placa,FechaHoraEntrada,CodigoFROM EntradaVehiculoWHERE FechaHoraEntrada >= GETDATE() AND FechaHoraEntrada <= GETDATE()
-
Estimado cuando ejecutas:
SELECT GETDATE()
Te devolvera algo como esto : 2016-01-02 8:00 , con todo y hora, lo que hace el convert(date,getdate()) es traerte solo la fecha.
Ahora no sabia como estabas llenando el valor FechaHoraEmtrada, me indicaste que era un datetime pero no sabia como se estaba guardando podria haber sido : 2016-07-08 8:00 o 2016-07-08 00:00 en caso no estes llenandolo con hora. Es por eso que mejor todo lo llevas a DATE y haces las comparaciones entre fechas discriminando las horas .
Date una vuelta por mi blog
https://aprendebi.wordpress.com/
Y sugiere en un comentario de que te gustaria que escriba
Saludos
-
Estimado cuando ejecutas:
SELECT GETDATE()
Te devolvera algo como esto : 2016-01-02 8:00 , con todo y hora, lo que hace el convert(date,getdate()) es traerte solo la fecha.
Ahora no sabia como estabas llenando el valor FechaHoraEmtrada, me indicaste que era un datetime pero no sabia como se estaba guardando podria haber sido : 2016-07-08 8:00 o 2016-07-08 00:00 en caso no estes llenandolo con hora. Es por eso que mejor todo lo llevas a DATE y haces las comparaciones entre fechas discriminando las horas .
Date una vuelta por mi blog
https://aprendebi.wordpress.com/
Y sugiere en un comentario de que te gustaria que escriba
Saludos
-
Hola djnilo, si lo que quieres es obtener los vehiculos ingresados hoy, yo usaría
WHERE convert(date,FechaHoraEntrada) = convert(date,GETDATE())
pues nunca habrá en tu registro algun vehículo que haya ingreso despues de ahora (GETDATE()). De forma general para una condición como la de tu WHERE puedes usar
WHERE convert(date,FechaHoraEntrada) BETWEEN convert(date,FechaInicial) AND convert(date,FechaFinal)
Saludos.
- Marcado como respuesta djnilo sábado, 8 de octubre de 2016 19:10