我正在尝试排序一个
标题列表,但是目前有一个巨大的
标题,以“The”开头.我想让’The’被忽略,而排除第二个字的那种.在
sql中是可能的,还是在前端做定制工作?
例如,当前排序:
>飞机
>男子小孩
>全金属外套
>纸浆小说
>喷泉
大逃亡
>女王
> Zardoz
会更好的排序:
>飞机
>男子小孩
>喷泉
>全金属外套
大逃亡
>纸浆小说
>女王
> Zardoz
几乎好像记录被存储为“喷泉”,等等.但是如果可以的话,我不想这样存储,这当然是问题的症结所在.
最好是有一个计算列来执行此操作,以便您可以索引计算列和顺序.否则,排序会很多的工作.
所以你可以把你的计算列:
CASE WHEN title LIKE 'The %' THEN stuff(title,1,4,'') + ',The' ELSE title END
编辑:如果MysqL中没有STUFF,则使用RIGHT或SUBSTRING删除前导的4个字符.但是如果可能,仍然尝试使用计算列,以便索引可以更好.同样的逻辑应该适用于“A”和“An”.
抢