sql – 定制ORDER BY忽略”
发布时间:2020-12-12 16:15:01 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试排序一个标题列表,但是目前有一个巨大的标题,以“The”开头.我想让’The’被忽略,而排除第二个字的那种.在SQL中是可能的,还是在前端做定制工作? 例如,当前排序: 飞机 男子小孩 全金属外套 纸浆小说 喷泉 大逃亡 女王 Zardoz 会更好的排序: 飞机
我正在尝试排序一个标题列表,但是目前有一个巨大的标题,以“The”开头.我想让’The’被忽略,而排除第二个字的那种.在SQL中是可能的,还是在前端做定制工作?
例如,当前排序: >飞机 会更好的排序: >飞机 几乎好像记录被存储为“喷泉”,等等.但是如果可以的话,我不想这样存储,这当然是问题的症结所在. 解决方法最好是有一个计算列来执行此操作,以便您可以索引计算列和顺序.否则,排序会很多的工作.所以你可以把你的计算列: CASE WHEN title LIKE 'The %' THEN stuff(title,1,4,'') + ',The' ELSE title END 编辑:如果MySQL中没有STUFF,则使用RIGHT或SUBSTRING删除前导的4个字符.但是如果可能,仍然尝试使用计算列,以便索引可以更好.同样的逻辑应该适用于“A”和“An”. 抢 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |