Sắp xếp theo tháng bắt đầu từ tháng 8 (ví dụ năm tài chính)
Khi trường T0.Name lưu tháng dưới dạng chuỗi ký tự (char), cần chuyển đổi để sắp xếp năm tài chính bắt đầu từ tháng 8.
Mệnh đề ORDER BY
ORDER BY CASE
WHEN CAST(LEFT(T0.Name, 2) AS INT) >= 8
THEN CAST(LEFT(T0.Name, 2) AS INT) - 8
ELSE CAST(LEFT(T0.Name, 2) AS INT) + 4
END
Giải thích
LEFT(T0.Name, 2): Lấy 2 ký tự đầu (tháng).CAST(... AS INT): Chuyển sang số nguyên.- Tháng 8-12: trừ 8 (thành 0-4).
- Tháng 1-7: cộng 4 (thành 5-11).
- Kết quả: Tháng 8 thành 0 (đầu tiên), tháng 7 thành 11 (cuối cùng).
Kỹ thuật này hữu ích cho báo cáo năm tài chính (Fiscal Year) bắt đầu tháng 8.