Найти слова длиной более 10 символов в предложениях в столбце sql?

Как найти самые длинные слова в столбце SQL? Например, слова длиннее 10 символов?

Курсивные слова столбца TITLE содержат не менее 10 символов;

  • Неоднородный Карбон Фибробетон
  • Модель для Пуассона Регресс
  • Случайный Выстрел
  • Перетренированность в плавании
  • Требования в Agile Chemical From Syngas

MySQL не совсем подходит для этого типа работы.

Gordon Linoff 13.09.2018 20:20
0
1
120
2

Ответы 2

Вы можете использовать:

 select length(t.col) as l_col, t.col
   from 
 (
   select 'Non-homogeneous Carbon Fiberconcrete' as col
   union all
   select 'Accidental Shot'
   union all
   select 'Overtraining in Swimming'
   union all
   select 'Requirements in Agile Chemical From Syngas'
  ) t
  order by l_col desc
  limit 1;

  L_COL  COL
  -----  ------------------------------------------
   42    Requirements in Agile Chemical From Syngas

Как это дает слова во фразе длиннее 10 букв? Как он получил положительный голос?

Gordon Linoff 13.09.2018 20:19

@GordonLinoff Вы имеете в виду, что деталь where length(t.col) >= 10 бесполезна?

Barbaros Özhan 13.09.2018 20:21

@GordonLinoff Я подумал об обеспечении обоих условий, объединив их с AND: longest words in the SQL column(i.e.TITLE) AND words longer than 10 characters.

Barbaros Özhan 13.09.2018 20:25

Я думаю, что OP хочет извлечь выделенные курсивом слова из столбца title.

Gordon Linoff 13.09.2018 23:35

Вот мой код для SQL Server.

select c.name as col
from sys.columns c
join sys.tables t ON c.object_id = t.object_id
where t.name = 'your table name'
and len(c.name) > 10

Другие вопросы по теме