Hace unos días estuve trabajando con fechas y horas el tema es que la columna fecha era de tipo varchar (el motivo ??), entonces me las ingenié para mostrar de forma ordenada las horas y esto es lo que hoy quiero compartir con ustedes.
DECLARE @Hora TABLE
(
Horas VARCHAR(50)
)
INSERT INTO @Hora VALUES ('01:00:03 p.m.')
INSERT INTO @Hora VALUES ('02:00:01 p.m.')
INSERT INTO @Hora VALUES ('10:00:06 a.m.')
INSERT INTO @Hora VALUES ('04:00:09 p.m.')
INSERT INTO @Hora VALUES ('10:00:07 p.m.')
INSERT INTO @Hora VALUES ('08:00:01 a.m.')
INSERT INTO @Hora VALUES ('09:00:00 a.m.')
INSERT INTO @Hora VALUES ('03:00:00 a.m.')
INSERT INTO @Hora VALUES ('03:00:10 p.m.')
SELECT *
FROM @Hora
ORDER BY CASE
WHEN CHARINDEX('a',Horas) > 0
THEN 1
ELSE 2
END, Horas