例如:
SELECT * FROM atable ORDER BY num;
'atable'是:
num name
1 a
3 y
0 cc
2 fs
结果是:
num name
1 a
2 fs
3 y
0 cc
但我希望它是:
num name
0 cc
1 a
2 fs
3 y
答案 0 :(得分:1)
您确定0不是显示为0的空值吗? Null可以在顶部或底部排序,具体取决于数据库设置。
答案 1 :(得分:1)
我无法重现您所看到的结果。您发布的查询应该按您的意愿工作。这是我重现的步骤:
CREATE TABLE atable (num INT NOT NULL, name NVARCHAR(100) NOT NULL);
INSERT INTO atable (num, name) VALUES
(1, 'a'),
(3, 'y'),
(0, 'cc'),
(2, 'fs');
SELECT * FROM atable ORDER BY num;
结果:
0, 'cc'
1, 'a'
2, 'fs'
3, 'y'
也许您可以在您的问题中发布您的表格和测试数据的创建脚本,以便我们可以重现您的结果?
答案 2 :(得分:0)
SELECT * FROM atable
ORDER BY ISNULL(CAST(num as int), 0);