возвращать определенный контент с помощью регулярных выражений - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть запрос ниже, где захвачены 3 крупнейших процесса, занимающих память на машине, я бы хотел, чтобы мой выбор отображал только pid и имя процесса, который содержится в {name: }

ВЫБРАТЬ НОРМАЛЬНЫЙ ВЫХОД

top_mem   
-----------------------------------------------------------------------
12555, {memory_percent: 3.6073870265949464, name: code},10581, {memory_percent: 5.82421985505014, name: VirtualBoxVM},11518, {memory_percent: 13.986433224706513, name: java}

ВЫБРАТЬ ОЖИДАЕМЫЙ ВЫХОД (МАТРИЦА)

12555, code
10581, VirtualBoxVM
11518, java

ЗАПРОС

SELECT top_mem FROM tbl_top_consum_hosts WHERE (top_mem regexp '^name[a-z]')

1 Ответ

0 голосов
/ 26 сентября 2019

Вы можете разбить строку на части:

SELECT c[1], c[2]
FROM (SELECT regexp_split_to_array(p, ',.*name: ') AS c
      FROM regexp_split_to_table(top_mem, '},') AS parts(p)) AS q;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...