postgresql - 提取具有多个条件的字符串 - sql
问题描述
我们有一列不同的字符串值,如下所示。如何提取部分字符串并在 Redshift 中返回所需的结果?
例子
- 删除以下划线和数字开头的最后一部分(_1_MN,数字可以是 1-1000)
- 删除前导部分 (Ed_)
- 用空格替换任何剩余的下划线
字符串: Ed_Westside Ind 学区 94_Williams Elementary School_1_MN
期望的结果:Westside Ind 学区 94 Williams 小学
解决方案
MySQL
UPDATE products
SET col = SUBSTRING(col FROM 3)
WHERE col LIKE ('Ed_%')
UPDATE products
SET col = SUBSTRING(col FROM -5 )
WHERE col LIKE ('%_1_MN')
UPDATE products
SET col = REPLACE(col, '_', ' ')
推荐阅读
- python - 从 GitLab 解码文本文件导致 UnicodeEncodeError
- c# - 如何在主方法c#中调用我的方法?
- html - 导航栏未正确居中,左侧的空白区域稍多
- javascript - jQuery 过滤器和效果不适用于 React JS 中的动态数据
- javascript - 为什么我不能快速访问从我的 API 中获取的 JSON 对象的子属性
- reactjs - react.js 谷歌分析不起作用。没有显示实时数据
- microsoft-graph-api - 为什么调用 Http 请求时出现错误
- javascript - 延迟 node.js HTTP 请求
- mod-rewrite - 为什么 httpd.conf 中的 rewriteRule 在这个 Apache 代理服务器上不起作用?
- powershell - aws cli sync 命令的流式输出到 powershell 主机