2012-06-07 130 views
2

我需要对列的部分值进行排序。用于对列部分值进行排序的SQL查询

例如,我有一个表员工列(代码,名称)。 Code列的值的格式是DEPT:SR_NO。

我需要仅对代码列的SR_NO值进行排序。

上面的场景仅仅是实时场景的例子。

任何建议,将不胜感激。

感谢,

+3

我建议你将列拆分成表格中的2列。然后,查询将很容易。 –

+0

'SR_NO'应该是数字吗? – Quassnoi

+0

雅DEPT是字母&SR_NO是数字。 – SmartSolution

回答

4
SELECT SUBSTRING_INDEX(code, ':', 1) AS dept 
     SUBSTRING_INDEX(code, ':', -1) AS sr_no 
FROM mytable 
ORDER BY 
     sr_no 
+1

感谢哥们,它帮助。我终于像这样使用它: SELECT * FROM EMPLOYEE ORDER BY SUBSTRING_INDEX(CODE,':', - 1) – SmartSolution

0

正则表达式,是的。您还可以执行诸如Order by Right(Name, Len(Name)-Instr(Name, ":"))之类的操作来拾取冒号右侧的所有字符并按此排序。

相关问题