Sql 在sybase中如何按列的绝对值排序?

Sql 在sybase中如何按列的绝对值排序?,sql,sybase,Sql,Sybase,我想根据sybase中列的绝对值对记录进行排序。有人能告诉我怎么做吗?我尝试了下面的查询,但它抛出了错误 SELECT * FROM table_name ORDER BY ABS(COL_A) 更新:查询中缺少表名。添加了它。试试这个: SELECT * FROM table ORDER BY ABS(COL_A) 您会得到什么错误?您必须先选择绝对值,然后才能对其进行排序。此外,您的查询没有表名。您唯一真正缺少的是要从中选择的表名。COL\u a怎么可能不在select*的select

我想根据sybase中列的绝对值对记录进行排序。有人能告诉我怎么做吗?我尝试了下面的查询,但它抛出了错误

SELECT *  FROM table_name ORDER BY ABS(COL_A)
更新:查询中缺少表名。添加了它。

试试这个:

SELECT *
FROM table
ORDER BY ABS(COL_A)

您会得到什么错误?您必须先选择绝对值,然后才能对其进行排序。此外,您的查询没有表名。您唯一真正缺少的是要从中选择的表名。
COL\u a
怎么可能不在
select*
select
列表中?@gordonlin在您的右边,它不应该出现。我认为这可能是一个奇怪的Sybase事件,但事实并非如此。也许他只是忘记了桌子的名字。来自Sybase的文档如果查询的order by或group by子句包含不在select列表中的列,Adaptive Server会将这些列作为隐藏列添加到正在处理的列中。order by或group by子句中列出的列包含在不同行的测试中。要符合ANSI标准,请在选择列表中包括order by或group by列。“我正在执行order by的列是varchar类型。但它实际上只包含数字值。它仍然有效吗?我想这就是问题所在。@chidori您遇到了什么错误?您也可以尝试
order by CAST(列为数字)