J'ai une table comme celle-ci :
TITLE | DESCRIPTION
------------------------------------------------
test1 | value blah blah value
test2 | value test
test3 | test test test
test4 | valuevaluevaluevaluevalue
J'essaie de trouver comment renvoyer le nombre de fois qu'une chaîne apparaît dans chacune des DESCRIPTION.
Ainsi, si je veux compter le nombre de fois où 'valeur' apparaît, l'instruction sql retournera ceci :
TITLE | DESCRIPTION | COUNT
------------------------------------------------------------
test1 | value blah blah value | 2
test2 | value test | 1
test3 | test test test | 0
test4 | valuevaluevaluevaluevalue | 5
Y a-t-il un moyen de le faire ? Je ne veux pas utiliser de php du tout, seulement mysql.
5 votes
Les réponses ci-dessous vous y conduiront. Cependant, n'oubliez pas d'utiliser
CHAR_LENGTH()
au lieu deLENGTH()
si vous utilisez des caractères multi-octets.0 votes
Ce fil a également été répondu sur ici
0 votes
Bonjour, comment puis-je faire cela avec sqlserver query ?
0 votes
LENGTH([field]) - LENGTH(REPLACE([field], '[char_to_find]', ''))