извлечь строку из строки sql netezza - PullRequest
0 голосов
/ 08 января 2020

пожалуйста, у меня есть столбец, содержащий строку, как показано ниже

Plan
{"en_US":"Ultra 2 Speed Up to 100Mbps Prepaid FTTH(140GB)","ar_EG":"Ultra 2 Speed Up to 100Mbps Prepaid FTTH(140GB)"}
{"en_US":"Ultra 2 Speed Up to 100Mbps Prepaid FTTH(600GB)","ar_EG":"Ultra 2 Speed Up to 100Mbps Prepaid FTTH(600GB)"}
{"en_US":"Super 3 speed Up to 30Mbps Prepaid FTTH(250GB)","ar_EG":"Super 3 speed Up to 30Mbps Prepaid FTTH(250GB)"}
{"en_US":"Ultra 2 Speed Up to 100Mbps Prepaid FTTH(250GB)","ar_EG":"Ultra 2 Speed Up to 100Mbps Prepaid FTTH(250GB)"}

Мне нужно извлечь строку в 3 поля

1-е поле, как показано ниже

Rate_Plan
Ultra 2 Speed Up to 100Mbps Prepaid FTTH(140GB)
Ultra 2 Speed Up to 100Mbps Prepaid FTTH(600GB)
Super 3 speed Up to 30Mbps Prepaid FTTH(250GB)
Ultra 2 Speed Up to 100Mbps Prepaid FTTH(250GB)

2-е поле, как показано ниже

Quota
140
600
250
250

поле 3ed, как показано ниже

Speed
100
100
30
100

1 Ответ

0 голосов
/ 09 января 2020

Читайте о функции regexp_extract (): https://dwgeek.com/netezza-regular-expression-functions-examples.html/

В вашем случае начните с чего-то вроде: '^ ([^:] ): ([^ :] ):. $ 'и извлеките шаблон номер два. Затем извлеките две другие строки из той же строки, используя что-то вроде этого:' ^. to ([0-9]) + Мбит / с (шаблон 1)

Я надеюсь, что вы можете следовать.

...