Khi tôi chạy truy vấn này, kết quả không được sắp xếp chính xác.Oracle không sắp xếp đúng khi sử dụng cùng một cột hai lần
SELECT
SYSDATE - datecolumn a,
SYSDATE - datecolumn sortcolumn
FROM atable
ORDER BY sortcolumn
Tạo:
2576.780243055555555555555555555555555556
2586.297013888888888888888888888888888889
2342.294479166666666666666666666666666667
2617.297476851851851851851851851851851852
2624.855104166666666666666666666666666667
2624.855138888888888888888888888888888889
2624.854236111111111111111111111111111111
2372.296643518518518518518518518518518519
2645.257800925925925925925925925925925926
2403.294756944444444444444444444444444444
2676.297696759259259259259259259259259259
Khi dòng đầu tiên (SYSDATE - datecolumn một,) được lấy ra, tất cả mọi thứ hoạt động tốt. Có lý do cụ thể nào khiến điều này xảy ra không?
Thử 'TO_NUMBER (SYSDATE - datecolumn) dưới dạng cột_sắp_xếp'. Tôi cho rằng sắp xếp với SQL của bạn không phải là số. –
Hành vi thú vị (Tôi có thể xác nhận nó trên Oracle 11gR2). Có rất nhiều cách giải quyết nhưng nó sẽ là tốt đẹp để biết cho dù đó là một lỗi hoặc một tính năng. – GoranM
trên instaince của tôi tất cả các công việc như mong đợi, cố gắng xây dựng lại bảng của bạn (tôi phải đối mặt với các vấn đề oracle khi bảng bị hỏng) hoặc cung cấp đầy đủ trường hợp thử nghiệm (với bảng tạo và điền) –