Giải pháp thích hợp và đơn giản là:
SELECT to_char(b.foo,'dd/MM/yyyy') as foo, b.bar
FROM baz b
ORDER BY b.foo;
Cột ngày được định dạng foo
là một cột hoàn toàn mới cho công cụ lập kế hoạch truy vấn, điều đó xảy ra xung đột với cột bảng foo
. Trong mệnh đề ORDER BY và GROUP BY, tên của các cột đầu ra được ưu tiên hơn các cột của bảng. Tên không đủ tiêu chuẩn foo
sẽ tham chiếu đến cột đầu ra.
Để sử dụng cột bảng gốc trong mệnh đề ORDER BY, chỉ cần cột đủ điều kiện trong bảng .
Tôi đã đủ điều kiện bảng để làm rõ quan điểm của mình. Sẽ chỉ được yêu cầu trong mệnh đề ORDER BY trong trường hợp này. Bí danh bảng b
chỉ để thuận tiện.