LINUX.ORG.RU

PostgreSQL помогите с запросом

 , , ,


0

1

Всем привет.

Хочу найти все id записей у кторых в VARCHAR-поле есть длинные слова. Для этого, как я полагаю, нужно посплитить строку по пробелам, пробежаться по получившемуся массиву и для каждого элемента проверить длину слова. Но понятия не имею как такой фокус провернуть на sql.

 id    | integer
 mystr | character varying(255) | not null
 ...

Может кто сталкивался с подобной задаче, подскажите, плиз.


Ответ на: комментарий от djnoob
SELECT
  id,
  length(word)                        -- Applying length to each word in array
FROM (SELECT
        id,
        unnest(
            string_to_array(text, ' ') -- Splitting text to array by space del
        )                              -- Converting array to rows  
          AS word
      FROM sample_table) AS tbl

Легко. Но дело в том, что хотелось бы услышать полностью задачу, ибо скорее всего, все должно быть немного по-другому.

nikolnik ★★ ()