![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Czy jest możliwe zliczenie ilości wystąpień ciagu (lub wyrazu) w ciągu (czyli określonym polu)
![]() Np. dla "kot" -> Ala ma kota = 1 "kot" -> Ala ma kota, a kot ma AIDS = 2 :?: Przeszukałem chyba całego manuala, ale nie znalazłem nic... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Oczywiscie, ze jest:D
Kod $liczba=substr_count($string,"kot");
gdzie $string to oczywiscie zadany lancuch a $liczba to liczba wystapien :wink: -------------------- run Forest run ...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat Oczywiscie, ze jest:D W php tak i spen na pewno to wie. Ale w MySQL? Ja w manualu do tegoż też nie zauważyłem odpowiedniej funkcji.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem ze chodzi tobie o przeszukiwanie krotki pojedynczego rekordu.
W bazach danych na poziomie SQL'a krotki traktowane sa atomowo, tzn dla bazy stanowia jakby jedna calosc. W ORACLU do takich celow stosuje sie Jezyk PL/SQL, niestety z tego co mozna wyczytac na stronie MySQL'a implementacja podobnego jezyka przewidywana jest na wersje 5.0 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Blah blah blah a rozwiazania nie ma. Po co az storowalne procedury do tego ? Owszem nie ma takiej funkcji, ale dlaczego nie zrobic wlasnej (UDF)? E, a moze pokombinowac z dostepnymi - co jest najprostsze ?
[sql:1:f029ee6538] SELECT length(ciag_przeszukiwany) - length(replace(ciag_przeszukiwany,szukane,substring(szukane,2))) as ilosc ... [/sql:1:f029ee6538] |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat [sql:1:630d2b2cc4]
SELECT length(ciag_przeszukiwany) - length(replace(ciag_przeszukiwany,szukane,substring(szukane,2))) as ilosc ... [/sql:1:630d2b2cc4] Po wprowadzeniu drobnych poprawek (zmiana miejsca substring i dodanie ABS) jjest takie coś [sql:1:630d2b2cc4]ABS(LENGTH(ciag_przeszukiwany) - LENGTH(REPLACE(ciag_przeszukiwany,SUBSTRING(szukane,2),szukane)))[/sql:1:630d2b2cc4] co zwraca poprawną wartość. Dzieki ubootd ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
wow podziwiam pomyslowosc
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.09.2024 - 04:33 |