Sql 排序表数据问题
我在数据库表中有大量数据,我想根据它们的ID(主键)对数据进行排序。键列中的数据可以是:Sql 排序表数据问题,sql,sql-server-2008,sorting,Sql,Sql Server 2008,Sorting,我在数据库表中有大量数据,我想根据它们的ID(主键)对数据进行排序。键列中的数据可以是: 001/2011, 002/2011, 001/2012 当我使用“orderbyid”时,它对行进行如下排序 001/2011, 001/2012, 002/2011 然而,我要找的是 001/2011, 002/2011, 001/2012 id列的数据类型为varchar(50)。是否有一个特殊的SQL函数,我应该使用它对此类数据进行排序 ORDER BY RIGHT(ID,4)+LEFT(ID
001/2011,
002/2011,
001/2012
当我使用“orderbyid
”时,它对行进行如下排序
001/2011,
001/2012,
002/2011
然而,我要找的是
001/2011,
002/2011,
001/2012
id列的数据类型为varchar(50)
。是否有一个特殊的SQL函数,我应该使用它对此类数据进行排序
ORDER BY RIGHT(ID,4)+LEFT(ID,3)
这将重新排列varchar数据,以便年在前,年的顺序/月/日在后
如果您的数据有其他格式,请按照同样的思路思考。使用左右移动字符串,其中左侧和右侧仅为两个特定版本
这将重新排列varchar数据,以便年在前,年的顺序/月/日在后
如果您的数据有其他格式,请按照同样的思路思考。使用左右移动字符串,其中左右仅为两个特定版本。虽然特别挑剔,但我个人还是会将
+
替换为,
。和/或检查/
的位置,以防其移动[+1,因为它仍然工作。]和/或检查/的位置,以防它移动。
我不会走下螺旋。数据要么像问题中所示的那样连贯,要么我们可以整天盯着水晶球看。它对查询有效,但当我把它放在view@usera中的ORDER BY不起作用。在视图或表函数中,不能强制按排序。这里也可以看到:虽然特别挑剔,但我个人还是会用,
替换+
。和/或检查/
的位置,以防其移动[+1,因为它仍然工作。]和/或检查/的位置,以防它移动。
我不会走下螺旋。数据要么像问题中所示的那样连贯,要么我们可以整天盯着水晶球看。它对查询有效,但当我把它放在view@usera中的ORDER BY不起作用。在视图或表函数中,不能强制按排序。请参见此处: