Извлечь строку с несколькими критериями - sql - PullRequest
0 голосов
/ 30 января 2019

У нас есть столбец с различными строковыми значениями, как показано ниже.Как извлечь часть строки и вернуть желаемый результат в Redshift?

Пример

  1. Удалить последнюю часть, которая начинается с подчеркивания и числа (_1_MN, число может быть 1-1000)
  2. Удалить начальную часть (Ed _)
  3. Заменить все оставшиеся подчеркивания пробелами

Строка: Ed_Westside Ind Школьный округ 94_Williams Начальная школа_1_MN

Желаемый результат: Westside Ind School District 94 Начальная школа Williams

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Хотя это и не очень элегантно, это сработало.

REGEXP_REPLACE(LEFT(RIGHT(name, LEN(name) - 3), LEN(name) -8) , '_', ' ')
0 голосов
/ 30 января 2019

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