Разбор поля измерения с переменным форматированием в Teradata? - PullRequest
0 голосов
/ 18 июня 2020

У меня есть поле измерения, в котором хранятся данные в формате ниже. Я использую тераданные для запроса этого поля.

  1. 10 x 10 x 10
  2. 5,0x6x7
  3. 10 x 12x 1
  4. 6,0 x6. 0 x6.0
  5. 0 X 0 X 0

Мне было интересно, как мне go анализировать это поле, чтобы получить числа только в 3 разных столбца.

1 Ответ

0 голосов
/ 19 июня 2020

Что-то вроде этого должно сработать или хотя бы приблизить вас.

REGEXP_SUBSTR(DATA, '(.*?)(x ?|$)', 1, 1, 'i', 1) AS length,
REGEXP_SUBSTR(DATA, '(.*?)(x ?|$)', 1, 2, 'i', 1) AS width,
REGEXP_SUBSTR(DATA, '(.*?)(x ?|$)', 1, 3, 'i', 1) AS height

Возвращает первую захваченную группу из набора символов, за которым следует без учета регистра «x» и необязательный пробел или конец строки. Четвертый аргумент - это возвращаемый экземпляр этого совпадения.

...