2

目前我有一个 SQL 查询,它选择一些列,然后执行 ORDER_BY ID。

很简单。输出即 92, 101, 105, 200, 1234

问题是,我试图在其中使用它的程序将只接受字母数字顺序的输入。这意味着我需要它是 101、105、1234、200、92。

如何修改 SQL 查询以按字母数字顺序排列数字?

4

3 回答 3

5

一种选择是将列转换为VARCHAR然后排序

SELECT OrderID
FROM dbo.FooTable
ORDER BY CAST(OrderID AS VARCHAR(255)) 
于 2013-06-03T21:56:37.710 回答
2

您可以通过将数字转换为字符串来做到这一点:

order by cast(col as varchar(255))

例如。

于 2013-06-03T21:56:46.230 回答
0

您应该能够为您的 ID 列重新转换数据类型:

order by cast(ID as varchar(10))

这应该适用于大多数系统

于 2013-06-03T22:01:31.600 回答