Существующая база данных содержит полевой запрос «depend_ages», а некоторые данные примера выглядят как «1,2,5» или «1yo и 3mo» или «4mo».Как подсчитать количество совпадений для данной строки в MySQL?
Требование состоит в том, чтобы преобразовать такую строку в целое число, которое представляет собой число подстрок, разделенных символами «,» или «и». Точнее, разделитель можно описать как регулярное выражение «, | \ sand \ s». Итак, для приведенного выше примера конвертированные целые числа равны 3, 2 и 1. В основном меня интересует , сколько существует совпадений, а не значение из этих совпадений. Так что когда-либо индивидуальное значение «14yo» или «4MO», то он будет считаться 1.
Вопрос заключается в том, чтобы найти выражение MySQL, который может сделать это, например
SELECT REGEXMATCHES(dependent_ages) as dependent_no ...
UPADTE
Некоторые ответы/комментарии показывают некоторое общее недоразумение в вопросе, поэтому я уточнил вопрос.
Как данные примера приводят к целым числам 3, 2 и 1? –
Естественные языки не являются регулярными и обычно не обрабатываются регулярным выражением. Тем не менее, вы можете использовать '\ d +' для извлечения всех indepedent номеров (поэтому из '14yr, 9yr' вы получите' 14' и '9'). Разумеется, нет разницы между 9 и 9 месяцами. – JDB
@ Cyborgx37 Думаю, вы меня не поняли.Это поле описывает возраст детей для человека, и я хочу, чтобы это число его/ее детей. Таким образом, независимо от того, является ли возраст 14 лет или 14 месяцев или 15 лет, это не имеет значения, все они будут считаться 1 ребенком. –