Tôi có cột ngày có số NULL
. Tôi muốn đặt hàng theo cột ngày tháng ASC, nhưng tôi cần NULL
s để ở dưới cùng. Cách thực hiện trên TSQL?TSQL ORDER BY with nulls trước hoặc cuối (ở dưới cùng hoặc trên cùng)
Trả lời
Select *
From YourTable
Order By case when DateCol is null then 1 else 0 end
,DateCol
Hoặc thậm chí Order By IsNull(DateCol,'2525-12-31')
"Trong năm 2525 nếu người đàn ông vẫn còn sống"? –
@ZoharPeled Cuối cùng! Ai đó đã nhận được rằng –
Tôi thích những bài hát cũ ... –
Trong SQL tiêu chuẩn mà bạn có thể xác định nơi để đặt null:
order by col asc nulls first
order by col asc nulls last
order by col desc nulls first
order by col desc nulls last
nhưng T-SQL không tuân thủ các tiêu chuẩn tại đây. Trình tự NULLs phụ thuộc vào việc bạn sắp xếp tăng dần hoặc giảm dần trong T-SQL:
order by col asc -- implies nulls first
order by col desc -- implies nulls last
Với số nguyên bạn có thể chỉ đơn giản là sắp xếp theo các tiêu cực:
order by -col asc -- sorts by +col desc, implies nulls first
order by -col desc -- sorts by +col asc, implies nulls last
Nhưng điều này là không thể với số ngày (hoặc chuỗi cho vấn đề đó), vì vậy trước tiên bạn phải sắp xếp theo là null/không phải là null và chỉ sau đó theo cột của bạn:
order by case when col is null then 1 else 2 end, col asc|desc -- i.e. nulls first
order by case when col is null then 2 else 1 end, col asc|desc -- i.e. nulls last
+1 để gọi ra sự khác biệt so với TSQL tiêu chuẩn. 'order by col asc' cho nulls đầu tiên và' order by col desc' cho nulls cuối cùng bởi vì SQL Server xử lý các giá trị Null như các giá trị thấp nhất có thể, xem [SELECT - ORDER BY Clause] (https://docs.microsoft.com/ en-us/sql/t-sql/truy vấn/select-order-by-clause-transact-sql) – HappyTown
- 1. Giữ dòng stdin ở trên cùng hoặc dưới cùng của màn hình thiết bị đầu cuối
- 2. Gradle: "áp dụng plugin" ở trên cùng hoặc ở dưới cùng
- 3. Kotlin sắp xếp nulls cuối cùng
- 4. Bóng hộp không hiển thị ở trên cùng hoặc dưới cùng
- 5. Cách kiểm tra trạng thái thanh cuộn đã ở trên cùng hoặc ở cuối?
- 6. In chân trang bảng ở dưới cùng ở trang cuối
- 7. Dừng UITableView qua cuộn ở trên cùng và dưới cùng?
- 8. TSQL: Truy vấn cuối cùng Ran
- 9. Rails 4 + Turbolinks: JS ở đầu hoặc ở dưới cùng của cơ thể?
- 10. Chọn hàng trên cùng và dưới cùng
- 11. Thêm nội dung vào dưới cùng của trang cuối cùng
- 12. Đệm trên cùng/dưới cùng cho Spinner
- 13. Tài liệu Python ở đây không có dòng mới ở trên cùng và dưới cùng
- 14. VBA Excel - tổng dòng để thêm đường viền ở trên cùng và dưới cùng chỉ
- 15. JQuery Detect Scroll ở dưới cùng
- 16. Android Không thể xóa màu ở trên cùng và dưới cùng
- 17. Các lớp học cuối cùng trong Java không nên là cuối cùng hoặc ngược lại?
- 18. Nhận tin nhắn cuối cùng hoặc sự khác biệt của CVS cuối cùng cam kết
- 19. Thanh dưới cùng ở NSWindow
- 20. Dòng trắng ở dưới cùng của ô UITableView ở cuối phần trong TableView TableView (iOS 5)
- 21. tsql "lần xuất hiện cuối cùng" bên trong một chuỗi
- 22. Cắt ScrollView ở trên cùng và để khoảng trống ở dưới cùng
- 23. MSSQL: Chỉ mục cuối cùng trong GROUP BY (với id)
- 24. Thay đổi vị trí trên cùng hoặc dưới cùng của cửa sổ bật lên bootstrap trên vị trí nội dung
- 25. UIRefreshControl ở dưới cùng của UITableView iOS6?
- 26. Chuỗi chỉ số cuối cùng trước đó
- 27. Vimscript: tìm parenthese mở cuối cùng hoặc khung
- 28. Các tab ở trên cùng và dưới cùng của màn hình
- 29. tranh luận cuối cùng trước khi NF?
- 30. bộ chọn jquery trước cuối cùng
Có thể trùng lặp [SQL Server ORDER BY date and nulls last] (http: // stackoverflow .com/câu hỏi/5886 857/sql-server-order-by-date-and-nulls-last) – HABO