sql - Oracle SQL - 从一个字符串中选择两个子字符串并将它们组合在另一列中
问题描述
使用 Oracle Toad SQL。
我的 test_table 中有一列包含这种格式的数据:
column_1
abc-def-ghijklmn
我需要abcdef
从上面显示的行中准确选择(它们之间没有'-')。我尝试了两个子字符串:
SELECT (SUBSTR(column_1, 0, 3), SUBSTR(column_1, 5,3)) FROM test_table
但它不起作用(错误是“缺少右括号”)。如何从一行中选择两个单独的子字符串并将它们组合到一个新列中?
解决方案
或者(第 1 行和第 2 行只是示例数据;您将使用第 3 行来执行您的操作。它从输入字符串中获取第一个和第二个单词并将它们连接起来):
SQL> with test (col) as
2 (select 'abc-def-ghijklmn' from dual)
3 select regexp_substr(col, '\w+', 1, 1) || regexp_substr(col, '\w+', 1, 2) result
4 from test;
RESULT
------
abcdef
SQL>
推荐阅读
- regex - 正则表达式不匹配字符串中的确切单词
- java - 我在构建应用程序时在 android studio 中遇到了 Android 资源链接失败错误。我不知道如何解决这个问题。我是 Android Studio 的新手
- javascript - 仅当屏幕宽度> 1250px时如何执行脚本
- flutter - DropdownButtonFormField 导致 RenderFlex 溢出
- flutter - 如何在颤振中集成 facebook 登录?
- powershell - 即使加载程序集,SMO Powershell 也会损坏
- r - 如何在 R 中读取 SharePoint 列表(本地)
- python - 用户输入以使用 python 在字典中显示某些值
- haskell - Haskell async:在 withAsync 中使用不同类型的 Monad
- fastapi - 在 GET 请求中使用 pydantic 验证器