建议加一个表吧,对应这样的数据 PS 0 S 1 M 2 L 3 XL 4 XXL 5当然后面的字段是可以隐藏的,实际上排序的恶依据是后面的数字.
楼上的建议很不错..不过我觉得还是直接在原表添加一列,专门用来根据尺寸排序的 select * from tab order by orderfield 如果在GridView排序的话,把那一列的排序设置为orderfield <asp:BoundField DataField="size HeaderText="尺寸" SortExpression="orderfield"></asp:BoundField>
declare @s varchar(100) set @s=‘PS,S,M,L,XL,XXL ‘ selsec * from tb order by charindex(','+字段+',' , ','+@S+',')
PS 0
S 1
M 2
L 3
XL 4
XXL 5当然后面的字段是可以隐藏的,实际上排序的恶依据是后面的数字.
select * from tab order by orderfield
如果在GridView排序的话,把那一列的排序设置为orderfield
<asp:BoundField DataField="size HeaderText="尺寸" SortExpression="orderfield"></asp:BoundField>
set @s=‘PS,S,M,L,XL,XXL ‘
selsec * from tb order by charindex(','+字段+',' , ','+@S+',')