首页 > 解决方案 > 提取具有多个条件的字符串 - sql

问题描述

我们有一列不同的字符串值,如下所示。如何提取部分字符串并在 Redshift 中返回所需的结果?

例子

  1. 删除以下划线和数字开头的最后一部分(_1_MN,数字可以是 1-1000)
  2. 删除前导部分 (Ed_)
  3. 用空格替换任何剩余的下划线

字符串: Ed_Westside Ind 学区 94_Williams Elementary School_1_MN

期望的结果:Westside Ind 学区 94 Williams 小学

标签: postgresqlamazon-redshift

解决方案


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, '_', ' ')

推荐阅读