我想按升序显示页码。但是,由于字段页是字符串数据类型,所以正常的“ORDER”考虑10 < 2。我必须将字段页设置为String,因为可以有类似于'3-4‘的输入。有谁能建议出一条出路吗。我附上了截图作为参考。
请帮忙.屏幕截图
select id
,F_NL
,page
,title
from newsletter_content
where F_NL = '29'
order by page asc;发布于 2017-03-23 12:15:55
您可以检查是否存在-字符并提取前面的数字:
ORDER BY CASE
WHEN INSTR( page, '-' ) > 0
THEN TO_NUMBER( SUBSTR( page, 1, INSTR( page, '-' ) - 1 ) )
ELSE TO_NUMBER( page )
END;https://stackoverflow.com/questions/42975360
复制相似问题