Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chạy truy vấn SQL từ tháng cụ thể trong SAP DB

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.