5条回答
默认
最新
可以使用 translate 函数,直接替换掉非数字字符
按字符串中的数字排序
通过正则表达式或者 translate 函数实现按字符串中的数值排序。
- 创建测试视图,示例语句如下所示:
CREATE OR REPLACE VIEW v AS SELECT 'ACCOUNTING 10 NEW YORK' data FROM DUAL UNION ALL SELECT 'OPEARTINGS 40 BOSTON' FROM DUAL UNION ALL SELECT 'RESEARCH 20 DALLAS' FROM DUAL UNION ALL SELECT 'SALES 30 CHICAGO' FROM DUAL;
- 用正则表达式替换非数字字符,示例语句如下所示:
SELECT data, TO_NUMBER (REGEXP_REPLACE (data, '[^0-9]', '')) AS deptno FROM V ORDER BY 2;
- 使用
translate函数,直接替换掉非数字字符,示例语句如下所示: SELECT data, TO_NUMBER (TRANSLATE (data, '0123456789' || data, '0123456789')) AS deptno FROM V ORDER BY 2;
参考文档
更多 SQL 语言使用说明,请参考《DM_SQL 语言使用手册》,手册位于数据库安装路径 /dmdbms/doc 文件夹下。如有其他问题,请在社区内咨询。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


