目前,我有一个SQL查询,可以选择一些列,然后执行ORDER_BY ID。
足够简单。输出是92,101,105,200,1234
问题是,我尝试使用它的程序只接受字母数字顺序的输入。这意味着我需要101,105,1234,200,92。
如何修改SQL查询以按字母数字顺序排序数字?
答案 0 :(得分:5)
一种选择是将列转换为VARCHAR
,然后对该
SELECT OrderID
FROM dbo.FooTable
ORDER BY CAST(OrderID AS VARCHAR(255))
答案 1 :(得分:2)
您可以通过将数字转换为字符串来完成此操作:
order by cast(col as varchar(255))
例如。
答案 2 :(得分:0)
您应该能够重新投射ID列的数据类型:
order by cast(ID as varchar(10))
这适用于大多数系统