szukanie liczby w string

szukanie liczby w string
MR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 119
0

mam w kolumnie liczby wpisane po przecinku
np:

Kopiuj
1
2
1,2,3
1,5,10,12,20

I teraz chcę znaleźć te rekordy gdzie jest liczba 2
Oczywiście w moim przykładzie powinien mi zwrócić tylko wiersz 2, i 3, ponieważ 12 i 20 to nie są liczby których szukam.
Macie jakiś pomysł jak to ugryźć?

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3891
0
Kopiuj
select
*
from
    tabela
where
     kol='2'
    or left(kol,2) =  '2,'
    or right(kol,2) = ',2'
    or kol like '%,2,%'
Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
1
Kopiuj
SELECT * FROM tabela where concat(',', kol,',') like '%,2,%'
PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3891
1

Tak sprawdziłem, mysql ma do tego funkcje FIND_IN_SET:

Kopiuj
select 
    * 
from 
    a 
where 
    FIND_IN_SET('2',kol) > 0
MR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 119
0

wielkie dzięki. Wszystkie odpowiedzi działają jak należy.
A funkcji FIND_IN_SET to nie znałem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.