PHPowy substr_count() w MySQL

Niedawno potrzebowałem zliczyć w MySQL liczbę wystąpień danego znaku w jednym z pól tekstowych. No to biegniem do manuala a tam.... kiszka. Nie ma czegoś takiego W php to jest substr_count() i po bólu. Trzeba było więc wymyślić własne cudo.

Algorytm ogólnie wydaje się prosty:

  • liczymy długość pola
  • usuwamy z pola dane znaki (zamieniamy je na "nic")
  • liczymy długość pola po usunięciu znaków
  • odejmujemy od siebie obie długości i mamy liczbę wystąpień danego znaku
  • w przypadku gdy naszym znakiem był ciąg znaków - dzielimy jeszcze otrzymaną różnicę przez liczbę znaków, której szukaliśmy

A oto kod mysql (zakładamy, że szukamy liczby wystąpień średnika ";"):

select (length(POLE) - length(replace(POLE,';',''))) ILOSC from tabela

Komentarze

 

Dodaj komentarz

 

Dostępne bbcode: b, u, i, url, code, php, css, html, sql, js

Ostatnio komentowane

  1. Mysql - FAQ Paweł
  2. Pager 2.5.1 oraz EPa... Na szybko2
  3. Pager 2.5.1 oraz EPa... Sławek
  4. Mysql - FAQ Piotr
  5. Liczba dni roboczych Na szybko2
  6. Liczba dni roboczych Naszybko
  7. Klasa widoku nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer