我目前正在使用Windows2012Server上的MS数据库,我只需要从只有读取权限的表中查询一列,而不是进行任何更改。
问题是,列的名称是"Value“--我的代码如下:
SELECT 'Value' FROM table如果我加上
`ORDER BY 'Value'` 问题是查询正在返回一个空的结果列表。
我已经尝试过了,
',但这也不起作用。SELECT *而不是SELECT VALUE发布于 2018-03-15 15:39:00
您声称此查询:
SELECT 'Value'
FROM table
ORDER BY 'Value'不会返回任何行。这并不完全正确。它返回一个错误,因为Server不允许常量表达式作为ORDER BY (或GROUP BY )的键。
不要使用单引号。在这种情况下:
SELECT 'Value' as val
FROM table
ORDER BY val;或者,如果value是表中的一个列:
SELECT t.Value
FROM table t
ORDER BY t.Value;Value不是Server中的保留字,但如果是,则可以转义它:
SELECT t.[Value]
FROM table t
ORDER BY t.[Value];发布于 2018-03-15 18:59:16
看起来您的表中有空值。而且,由于顺序由所有的空值来优先。
尝试添加像这样的过滤器
select Value FROM table
where Value is not null and Value <> ''
order by Valuehttps://stackoverflow.com/questions/49303594
复制相似问题