在ms sql数据库表files_master中,我有一列名为“AstNum”的varchar(100),其中包含诸如1/19802/198011/1980之类的数据,以此类推。

SELECT AstNum FROM Files_master ORDER BY AstNum ASC

它向我显示该列中的1/1980,11/1980记录。 /1980是斜杠之前的年份是增量数字,请帮助我如何对结果记录中想要的记录进行排序1/19802/19803/1980

最佳答案

尝试这个

Select AstNum from Files_master Order by convert(datetime,'1/'+AstNum,101) ASC

编辑:根据评论,这是另一个解决方案
Select AstNum from Files_master
Order by
parsename(replace(AstNum,'/','.'),2)*1 ASC,parsename(replace(AstNum,'/','.'),1)*1 ASC

07-24 21:15