我希望能够在postgres中排序(排序)忽略像“the,a,etc”这样的主要词汇
答案 0 :(得分:4)
单向:脚本(使用您喜欢的语言)创建一个额外的文本列,删除了干扰词,并对其进行排序。
答案 1 :(得分:0)
添加一个SORT_NAME列,其中包含所有内容。对于奖励积分,使用输入触发器自动填充它,使用您喜欢的SQL方言的正则表达式解析器或类似物。
答案 2 :(得分:0)
尝试拆分列并对结果数组中的第二项进行排序:
select some_col from some_table order by split_part(some_col, ' ', 2);
答案 3 :(得分:0)
无需添加额外的列。删除ORDER BY
中的主要字词:
SELECT col FROM table ORDER BY REPLACE(REPLACE(col, 'A ', ''), 'The ', '')