我需要对列的部分值进行排序。用于对列部分值进行排序的SQL查询
例如,我有一个表员工列(代码,名称)。 Code列的值的格式是DEPT:SR_NO。
我需要仅对代码列的SR_NO值进行排序。
上面的场景仅仅是实时场景的例子。
任何建议,将不胜感激。
感谢,
我需要对列的部分值进行排序。用于对列部分值进行排序的SQL查询
例如,我有一个表员工列(代码,名称)。 Code列的值的格式是DEPT:SR_NO。
我需要仅对代码列的SR_NO值进行排序。
上面的场景仅仅是实时场景的例子。
任何建议,将不胜感激。
感谢,
SELECT SUBSTRING_INDEX(code, ':', 1) AS dept
SUBSTRING_INDEX(code, ':', -1) AS sr_no
FROM mytable
ORDER BY
sr_no
感谢哥们,它帮助。我终于像这样使用它: SELECT * FROM EMPLOYEE ORDER BY SUBSTRING_INDEX(CODE,':', - 1) – SmartSolution
正则表达式,是的。您还可以执行诸如Order by Right(Name, Len(Name)-Instr(Name, ":"))
之类的操作来拾取冒号右侧的所有字符并按此排序。
我建议你将列拆分成表格中的2列。然后,查询将很容易。 –
'SR_NO'应该是数字吗? – Quassnoi
雅DEPT是字母&SR_NO是数字。 – SmartSolution