暂无图片
Oracle排序某个字段, 如果这个varchar2类型的字段有数字也有文字 , 怎么按照数字大小排序?
我来答
分享
暂无图片 匿名用户
Oracle排序某个字段, 如果这个varchar2类型的字段有数字也有文字 , 怎么按照数字大小排序?

Oracle排序某个字段, 如果这个varchar2类型的字段有数字也有文字 , 怎么按照数字大小排序?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
刘贵宾

用正则关系式来实现



select * from table_name order by to_number(translate(id, '0123456789.' || id, '0123456789.')) asc nulls last


select * from table_name order by to_number(regexp_substr(id,'[0-9]*[0-9]',1))

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
布衣
暂无图片

varchar2 字段会自动把数值型转换为字符型。
字符串类型的排序和numer类型的排序是不一样的,Oracle 字符串比较大小是根据ASCII来的,字符串排序是先比较第一个字符。
ASCII对照表:
image.png
下面的列子:

SQL> create table t1(name varchar2(5)); Table created. SQL> insert into t1 values(6); 1 row created. SQL> insert into t1 values('a'); 1 row created. SQL> insert into t1 values(52); 1 row created. SQL> commit; Commit complete. SQL> select * from t1 order by 1; NAME ----- 52 6 a
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
布衣
答主
2022-08-01
审题 审错了
回答交流
Markdown


请输入正文
提交
相关推荐
请问下这个错误是不是oracle 需要给驱动包授权网络连接权限呢?
回答 2
根据你截图中的报错判断应该是权限问题:应该是在截图中server没有赋予那个jar包connect和resolve权限。
通过数据库执行sql执行不慢,但是对应前端报表加载慢
回答 1
看看返回行数多少,比如plsql只显示几十行,但是页面可能显示所有。这些都是网络传输。当然如果排除了这个,也可能是前端渲染的问题。
kettle向分区表中的一个分区不能插入数据应该怎么排查
回答 1
把源表输出到excel或者csv,看看能不能生成数据。
Oracle19c select 表报错ORA-14137: Table in partially dropped state, submit DROP TABLE PURGE
回答 3
19.17.0.0
麒麟v10建库报错ora-01527
回答 2
已经执行过2次了
Oracle 11GR2 RAC下装库的DBCA.RSP 样本
回答 1
已采纳
主要内容如下:[GENERAL]RESPONSEFILEVERSION"11.2.0"OPERATIONTYPE"createDatabase"[CREATEDATABASE]GDBNAME"test
Oracle 存储过程创建临时表,会出现死锁问题,是什么原因导致?
回答 3
oracle里,一般的临时表其实也是个实体对象,当你有多个会话来调用这个存储过程的时候,或者有多个会话在同时访问这个临时表的时候,是可能会发生死锁的,这和创建的表是临时表还是非临时表没有关系。所以,o
各位,请教下在 做restore PDB$SEED时报错,有没有大佬帮忙解决一下?
回答 2
是在同一台机器上做的备份和恢复吗?目标端有配置CDB吗?
RAC有什么特点?
回答 1
已采纳
RAC的特点除了具有普通的数据库特性外:每一个节点的instance都有自己的SGA每一个节点的instance都有自己的backgroundprocess每一个节点的instance都有自己的red
Docker安装完Oracle 19c,远程连接12170,怎么处理?
回答 2
客户端3个文件配置:oci.dll,监听,tns解析。