MyOfficeLife

Чтиво

Главная » Статьи » Обучение » MySQL

MySQL. Как посчитать сколько раз встречается символ в строке.
 Здравствуйте , хочу поделится с вами одним очень простым приёмом в MySQL.
Иногда нам необходимо подсчитать сколько раз какой либо символ встречается в строке, допустим если наша строка делится разделителем , и нам необходимо выяснить из скольких частей состоит строка.
Одной конкретной функции для решения этой задачи в MySQL нет, поэтому мы воспользуемся комбинацией из 2ух функций а именно:

LENGTH и REPLACE

Функция LENGHT подсчитывает количество символов в строке , синтаксис LENGTH('СТРОКА')
Функция REPLACE заменяет указанный символ в строке на другой символ , синтаксис REPLACE('СТРОКА' , Символ или часть строки которую требуется заменить , символ или часть строки которую надо подставить вместо заменяемой части строки)

Решить нашу задачу можно следующим способом , допустим нам необходимо посчитать сколько раз встречается "-" в URL нашего проекта my-office-life.narod.ru

Это можно сделать так:

SELECT LENGTH(  'my-office-life.narod.ru' ) - LENGTH( REPLACE(  'my-office-life.narod.ru',  '-',  '' ) ) 

Где. 
LENGTH(  'my-office-life.narod.ru' )  - подсчитывает количество символов в строке 'my-office-life.narod.ru', результат 23
 
REPLACE(  'my-office-life.narod.ru',  '-',  '') - Заменяет все "-" на "" т.е. удаляет все тире из строки, преобразуя её в вид "myofficelife.narod.ru"

LENGTH( REPLACE(  'my-office-life.narod.ru',  '-',  '' ) ) - подсчитывает количество символов в строке где оператор REPLACE удалил все "-" , т.е. количество символов в строке "myofficelife.narod.ru",результат 21

Далее остаётся просто посчитать разницу между результатами этих вычислений т.е. от результата LENGTH(  'my-office-life.narod.ru' )  отнимаем результат LENGTH( REPLACE(  'my-office-life.narod.ru',  '-',  '' ) ) , 
Получается 23 - 21 = 2
В строке 'my-office-life.narod.ru' "-" встречается 2 раза.

При копировании материала необходимо указать ссылку!
Категория: MySQL | Добавил: selesnow (10.10.2013) | Автор: Алексей Селезнёв W
Просмотров: 4652 | Теги: REPLACE, LENGTH, MySQL, приёмы SQL, SQL запросы, разделители | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:

Категории раздела

Excel [4]
Приёмы и хитрости Excel
Экономика [8]
MySQL [7]
Приёмы , описание функций , решение практических задачь
Маркетинг [7]
Google Spreadsheets/Google Таблицы [0]

Реклама

Поделиться

Слушать радио


Курс в обменниках

Курсы наличного обмена на сегодня

Курс НБУ

 Курсы НБУ на сегодня

Курсы ЦБР

Курсы ЦБ РФ на сегодня

Конвертер валют

Калькулятор валют

Киевское время

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

LiveInternet

Rambler

Yandex

Яндекс.Метрика

Mail.RU

Рейтинг@Mail.ru

HotLog

OpenStar

Форма входа