La solución adecuada y simple es:
SELECT to_char(b.foo,'dd/MM/yyyy') as foo, b.bar
FROM baz b
ORDER BY b.foo;
La columna de fecha formateada foo
es una columna completamente nueva para el planificador de consultas, que entra en conflicto con la columna de la tabla foo
. En las cláusulas ORDER BY y GROUP BY, los nombres de las columnas de salida tienen prioridad sobre las columnas de la tabla. El nombre no calificado foo
se referiría a la columna de salida.
Para usar la columna de la tabla original en la cláusula ORDER BY, simplemente califique la columna con la tabla .
Califiqué todas las columnas de la tabla para aclarar mi punto. Solo se requeriría en la cláusula ORDER BY en este caso. Alias de tabla b
es solo por conveniencia.