Một cách bạn có thể làm là xác định bí danh cột ở một cấp khác để bạn có thể tham chiếu nó hai lần mà không cần lặp lại biểu thức.
« CHỌN TRƯỜNG HỢP KHI @SortBy LIKE 'column1%' THÌ Truyền (column1 AS SQL_VARIANT) KHI @SortBy THÍCH 'column2%' THÌ Truyền (column2 AS SQL_VARIANT) KHI @SortBy THÍCH 'column3%' THÌ Truyền (column3 AS SQL_VARIANT) KHI @SortBy LIKE 'column4%' THEN Cast (column4 AS SQL_VARIANT) END) C (sort_col)Mặc dù vậy, tôi sẽ xem xét sử dụng SQL động cho việc này. Loại truy vấn bắt tất cả sẽ giết chết ý tưởng về một kế hoạch tốt có thể sử dụng các chỉ mục để tránh sắp xếp.