我有一个问题:
DECLARE @MyTemp TABLE
(
MyField VARCHAR(20)
)
INSERT INTO @MyTemp VALUES ( 'BBA' )
INSERT INTO @MyTemp VALUES ( 'ABA' )
INSERT INTO @MyTemp VALUES ( 'AAA' )
INSERT INTO @MyTemp VALUES ( 'BAA' )
SELECT * FROM @MyTemp
ORDER BY MyField
我想要的是按字母顺序排序,除了以BA开头的任何内容,我想要最后一次。
我试过这个:
SELECT * FROM @MyTemp
ORDER BY MyField, CASE MyField LIKE 'BA%' WHEN 1 THEN 1 ELSE 0 END
哪个不起作用。我已经尝试过IIF,但没有成功。
我该怎么做?
答案 0 :(得分:7)
将ORDER BY
更改为
ORDER BY CASE WHEN MyField LIKE 'BA%' THEN 1 ELSE 0 END, MyField