2016-04-03 12 views
0

Ich habe ein kleines Problem. mit einer SQL-AnfrageSQL finden mehrere Vorkommen in einem Feld

Ich möchte in meiner Tabelle in einem Feld finden, wenn es ein doppeltes oder mehr Vorkommen oder ein Zeichen gibt.

ich erklären:

"Hello World"; // Es gibt 3 l

Wie kann ich wie ein regex oder etwas anderes tun, wie: where nom like "%l%l%"?

Ich versuchte select nom from distrib where MATCH (nom) AGAINST ('%y%' IN BOOLEAN MODE);, aber ich denke nicht, dass es die gute Wahl ist.

Vielen Dank,

Antwort

0

Versuchen Sie, diese (col - Name des Feldes, l - Zeichen):

SELECT CHAR_LENGTH(col) - CHAR_LENGTH(REPLACE(col, 'l', '')) 
+0

Schön ich könnte dies in wo machen> = 2 und getan, was ich wollte Danke. –

0

Sie Anzahl der Vorkommen auf diese Weise erhalten könnte, wo _the_char die Zeichen bedeuten Sie finden wollen ..

SELECT 
    ROUND ( 
    (
     LENGTH(your_field) 
     - LENGTH(REPLACE (your_field, "_the_char", "")) 
    )/LENGTH("_the_char")   
) AS count