首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle将FirstName和LastName放在一个反方向的列中

Oracle将FirstName和LastName放在一个反方向的列中
EN

Stack Overflow用户
提问于 2022-09-20 11:04:18
回答 1查看 16关注 0票数 0

我有一个给定的数据库表,在这里我无法更改数据库设计。

此表包含保存的列whare名称。"UserName“栏目包含”克林顿法案“、”特朗普唐纳德“或”布什乔治“等价值观。

我需要一个能够找到“比尔·克林顿”或“唐纳德·特朗普”-row的主钥匙的选择性声明。

因此,Firstname和Lastname的顺序颠倒了。有人知道该怎么做吗。

克劳斯应该是什么样的人。

EN

回答 1

Stack Overflow用户

发布于 2022-09-20 11:11:39

如果您想“反转”这样的字符串(包含两个单词),可以使用substr + instr或正则表达式。

代码语言:javascript
复制
SQL> with test (username) as
  2    (select 'Clinton Bill' from dual)
  3  select substr(username, instr(username, ' ') + 1) ||' '||
  4         substr(username, 1, instr(username, ' ') - 1) as reversed_value,
  5         --
  6         regexp_substr(username, '\w+', 1, 2) ||' '||
  7         regexp_substr(username, '\w+', 1, 1) as reversed_value_2
  8  from test;

REVERSED_VALUE       REVERSED_VALUE_2
-------------------- --------------------
Bill Clinton         Bill Clinton

SQL>

现在,只需在另一个查询中重用它(任意选项)。

代码语言:javascript
复制
select id
from test
where regexp_substr(username, '\w+', 1, 2) ||' '||
      regexp_substr(username, '\w+', 1, 1) = 'Bill Clinton'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73785660

复制
相关文章

相似问题

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