Buen día caballeros:
Estoy viendo la sentencia Between trabajando con campos DateTime
tengo un conjunto de datos:...
Cita:
1| '2007-06-29 14:31:16'
1| '2007-06-29 14:31:16'
1| '2007-06-29 14:31:16'
1| '2007-06-29 14:31:16'
1| '2007-06-30 14:31:16'
2| '2007-06-30 15:08:58'
2| '2007-06-30 15:08:58'
2| '2007-06-30 15:08:58'
|
pretendo seleccionar entre las fechas
'2007-06-29' y '2007-06-30'
escribo esta consulta:
Código SQL
[-]Select tblpagos.id As IdPago, tblpedidos.Total, tblpedidos.NroGuia,
tblpedidos.IdVendedor, tblpedidos.Id As IdPedido, tblpagos.SaldoCom,
tblpedidos.IdSisPago, tblpedidos.FechaEnt, tblpagos.FechaPago, tblpagos.Monto,
tblpedidos.saldo
From tblpedidos Inner Join
tblpagos On tblpedidos.Id = tblpagos.IdPedido
Where tblpedidos.IdVendedor = 2 And tblpagos.FechaPago Between
'2007-06-29' And '2007-06-30'
bien esto me arroja lo siguiente:
Cita:
1 | 2007-06-29 15:08:58
2 | 2007-06-29 14:31:16
3 | 2007-06-29 14:31:16
4 | 2007-06-29 14:31:16
|
pero no incluye los
del 2007-06-30 lo que hice fué aumentar el limite superior en un día. osea:
Código SQL
[-]
Select tblpagos.id As IdPago, tblpedidos.Total, tblpedidos.NroGuia,
tblpedidos.IdVendedor, tblpedidos.Id As IdPedido, tblpagos.SaldoCom,
tblpedidos.IdSisPago, tblpedidos.FechaEnt, tblpagos.FechaPago, tblpagos.Monto,
tblpedidos.saldo
From tblpedidos Inner Join
tblpagos On tblpedidos.Id = tblpagos.IdPedido
Where tblpedidos.IdVendedor = 2 And tblpagos.FechaPago Between
'2007-06-29' And '2007-06-31'
entonces ahora si arroja esto:
Cita:
1| '2007-06-29 14:31:16'
1| '2007-06-29 14:31:16'
1| '2007-06-29 14:31:16'
1| '2007-06-29 14:31:16'
1| '2007-06-30 14:31:16'
2| '2007-06-30 15:08:58'
2| '2007-06-30 15:08:58'
2| '2007-06-30 15:08:58'
|
es decir el límite superior debe ser mayor de un día para incluir el día de rango superior ????
ahora he probado también asi:
Código SQL
[-]Select tblpagos.id As IdPago, tblpedidos.Total, tblpedidos.NroGuia,
tblpedidos.IdVendedor, tblpedidos.Id As IdPedido, tblpagos.SaldoCom,
tblpedidos.IdSisPago, tblpedidos.FechaEnt, tblpagos.FechaPago, tblpagos.Monto,
tblpedidos.saldo
From tblpedidos Inner Join
tblpagos On tblpedidos.Id = tblpagos.IdPedido
Where tblpedidos.IdVendedor = 2 And tblpagos.FechaPago Between
'2007-06-29 14:31:16' And '2007-06-30 15:08:58'
y me arroja todo bien, los 8 registros. osea si es datetime tengo que especificar los limites con hora:mm:ss ???? al parecer si.
Y si no deseo trabajar con hh:mm:ss debo aumentar ellimite superior en un Día??????
gracias por sus aportes