【发布时间】:2020-12-03 12:58:19
【问题描述】:
我有一个带有 varchar 2 数据类型列的表,现在我想按 desc 顺序获取记录列和持续时间列,但没有按预期工作。
查询:
select * from sampletable2
where code = 'C'
order by duration desc ;
QUERY 输出如下所示:
KeyNumber ID Code BRANCH records Duration
A907654234 4 C ALA 100 99
A875678235 3 C PHE 30 9
A123456789 1 C HIE 78 45
A907863544 5 C VAL 50 23
我想要的是这样的:
KeyNumber ID Code BRANCH records Duration
A907654234 4 C ALA 100 99
A123456789 1 C HIE 78 45
A907863544 5 C VAL 50 23
A875678235 3 C PHE 30 9
有人可以纠正我哪里出错并纠正我的查询吗?
【问题讨论】:
-
我看不出您的查询如何产生第一个结果,无论数据类型如何,除非您在数据中有隐藏字符。存储为字符串的数字是什么?
-
无论是什么数据类型,您的查询都无法返回指定的输出。
-
@GordonLinoff 看起来
records列包含前导空格,而且它们的数量因行而异。 -
尝试在一些在线小提琴上重现该问题。
-
@Akina 没有前导空格或行与其他行不同。它只是在此处输入时格式化。只是你忽略那些