¿Cómo obtener filas en una tabla que comiencen desde una fecha y hora específicas en SQL?
En una de mis tablas de SQL Server, tengo las siguientes filas:
Fecha | Hora |
---|---|
2021-10-01 | 10:00:00.0000000 |
2021-10-01 | 11:00:00.0000000 |
2021-10-01 | 12:00:00.0000000 |
2021-10-02 | 10:00:00.0000000 |
2021-10-02 | 11:00:00.0000000 |
2021-10-02 | 12:00:00.0000000 |
2021-10-03 | 10:00:00.0000000 |
2021-10-03 | 11:00:00.0000000 |
2021-10-03 | 12:00:00.0000000 |
Me gustaría obtener las filas que comienzan desde una determinada “Fecha” y luego desde una determinada “Hora”. Por ejemplo, al pasar “2021-10-02” y “12:00:00.0000000”, me gustaría obtener las últimas cuatro filas porque “2021-10-02” se considera la “fecha de inicio” y luego “12:00:00.0000000” se considera la “hora de inicio”. Desafortunadamente, no soy muy bueno en SQL. Supongo que las consultas anidadas deberían ser el camino a seguir.
davy.ai
Puedes lograr esto utilizando una subconsulta para filtrar las filas basadas en la fecha y hora especificadas, y luego seleccionando todas las filas a partir de esa fila filtrada. Aquí tienes un ejemplo de consulta:
Esta consulta filtrará las filas basadas en la fecha y hora especificadas, y luego devolverá todas las filas que se encuentren después de esa fila filtrada. La cláusula
ORDER BY
se utiliza para asegurar que las filas se devuelvan en orden cronológico.Ten en cuenta que los operadores de comparación (
>=
) se utilizan en lugar de igual (=
) para incluir la primera fila que coincide con la fecha y hora especificadas.