Hoi,
ik heb een reaar probleem. De onderstaande query kan tellen hoe vaak het woord 'search' voorkomt in tabel ARTICLES voor attribuut 'txt'
select id, ((length(A.txt)-length(replace(A.txt,'search','')))/length('search'))
as hit_search from ARTICLES A where
(((length(A.txt)-length(replace(A.txt,'search','')))/length('search')))!=0
Het resultaat kan zijn:
id hit_search
----------------------
144 8 (de text met id=144 bevat 'search'
8 keer)
192 3
2342 1
etc..
Het gekke is dat wanneer het veld 'txt' het woord 'Search' bevat met een hoofdletter (b.v. 'Search', 'seaRCh' etc..) dan wordt hij niet gevonden. Ook niet als je in de query dezelfde hoofdletters gebruikt.
Hoe kan dit???? MySQL is default toch case insensitive?
Ik heb UCASE(), LOWER() etc al geprobeerd. resultaten daarvan waren onverklaarbaar. (Wel gevonden echter gevonden resultaat voor 'txt' = null
alle hulp welkom,
Martijn
ik heb een reaar probleem. De onderstaande query kan tellen hoe vaak het woord 'search' voorkomt in tabel ARTICLES voor attribuut 'txt'
select id, ((length(A.txt)-length(replace(A.txt,'search','')))/length('search'))
as hit_search from ARTICLES A where
(((length(A.txt)-length(replace(A.txt,'search','')))/length('search')))!=0
Het resultaat kan zijn:
id hit_search
----------------------
144 8 (de text met id=144 bevat 'search'
8 keer)
192 3
2342 1
etc..
Het gekke is dat wanneer het veld 'txt' het woord 'Search' bevat met een hoofdletter (b.v. 'Search', 'seaRCh' etc..) dan wordt hij niet gevonden. Ook niet als je in de query dezelfde hoofdletters gebruikt.
Hoe kan dit???? MySQL is default toch case insensitive?
Ik heb UCASE(), LOWER() etc al geprobeerd. resultaten daarvan waren onverklaarbaar. (Wel gevonden echter gevonden resultaat voor 'txt' = null
alle hulp welkom,
Martijn