sql - ORDER BY 函数在 Oracle 中不起作用

标签 sql oracle sorting sql-order-by

我使用下面的 ORDER BY 函数按客户 ID 订购一个简单的查询(它最初是派对年龄,但似乎不起作用,所以我更改了它以查看它是否是语法) .

SELECT   customer_id, customer_name, party_age
FROM     customer
ORDER BY customer_id

报告没有返回错误,但是当我去查看报告时,它根本没有排序。我也尝试过使用数字(ORDER BY x)。

有人指引我正确的方向吗?

编辑:Customer_id 是 VARCHAR2(3),有 10 个样本数据字段,范围从 001 到 010。我尝试按照下面的建议转换为 int,但结果仍然相同。

最佳答案

Order by 在 Oracle 中工作。问题一定是你得到的结果与你期望的不同。

造成这种情况的一个典型原因是表示为字符串的数字。这会将事物排序为 1, 10, 100, 101, 102 。 . .如果您期望数字排序,这看起来不正确。

我的猜测是以下方法会起作用:

 order by cast(customer_id as int)

关于sql - ORDER BY 函数在 Oracle 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13823629/

相关文章:

Oracle 数字类型的 java 映射

scala - Scala排序是否稳定?

java - 如何使用 java 8 将一组对象分组到排序列表中?

mysql - 执行sql转储文件

sql - 为 SQL 中的每个重复项获取较小的索引

php - 输入 : '' ' (ASCII=39) 中的意外字符

ruby - 为什么我不能按 `count` 对字符串数组进行排序?

sql - 别名后的外连接中不存在该列

java - 计算 6 - 分离度与 pl/sql 的算法和查询?

java - Oracle 12c 中使用 rs.getInt() 或 getLong() 的 Sequence.NEXTVAL 失败 - 那么它返回什么数据类型?