首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORACLE:对包含数字的字符串字段进行排序

ORACLE:对包含数字的字符串字段进行排序
EN

Stack Overflow用户
提问于 2017-03-23 11:57:08
回答 1查看 40关注 0票数 0

我想按升序显示页码。但是,由于字段页是字符串数据类型,所以正常的“ORDER”考虑10 < 2。我必须将字段页设置为String,因为可以有类似于'3-4‘的输入。有谁能建议出一条出路吗。我附上了截图作为参考。

请帮忙.屏幕截图

代码语言:javascript
复制
select id
    ,F_NL
    ,page
    ,title
from newsletter_content
where F_NL = '29'
order by page asc;
EN

回答 1

Stack Overflow用户

发布于 2017-03-23 12:15:55

您可以检查是否存在-字符并提取前面的数字:

代码语言:javascript
复制
ORDER BY CASE
           WHEN INSTR( page, '-' ) > 0
           THEN TO_NUMBER( SUBSTR( page, 1, INSTR( page, '-' ) - 1 ) )
           ELSE TO_NUMBER( page )
         END;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42975360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档