首页 > 解决方案 > 如何使用sql查询以相反的顺序显示数据?

问题描述

假设我已将名称列中的数据存储为 "S B" ,我想使用 SQL 查询将数据显示为 "B S"。又如:“棕丹”原始数据,显示数据“棕丹”。

名字和姓氏没有存储在单独的列中,因此我无法理解如何容纳空格。另外我想让这个查询通用,所以想为 middle name 添加规定,如果有的话。我想到了类似的东西: SELECT SUBSTR( )||" "||( )... 我如何从字符串的末尾开始阅读并适应间距?

标签: sqloracle

解决方案


您可以使用以下方法提取这两个名称regexp_substr()

select regexp_substr(name, '[^ ]+', 1, 1) as first_name,
       regexp_substr(name, '[^ ]+', 1, 2) as second_name

您也可以在 中使用这些表达式order by


推荐阅读