PDA

View Full Version : [MySql] Problema semplice con REGEXP


Kokinjoshi
02-10-2009, 15:33
Ciao, ragazzi!

Ho un problema che mi assilla con le REGEXP di MySql e che non riesco a risolvere, ve lo spiego:

Ho una tabella che contiene campi di questo tipo, in cui appare pių volte il carattere "/":

aaa/bbb/ccc/ddd/eee/
aaa/bbb/ccc/eee/
ccc/ddd/eee/
ecc

come faccio a selezionare le righe in cui il campo in questione contiene ESATTAMENTE N ripetizioni del carattere "/"?

Ho provato cosė:
SELECT * FROM tabella WHERE campo REGEXP '/{N}'
e cosė
SELECT * FROM tabella WHERE campo REGEXP '(/){N}'
Ma nulla :(, dove sbaglio? Grazie!

john_revelator
02-10-2009, 15:53
Io risolverei cosė


select *, length(campo) - length(replace(campo, '/', '')) as slash
from tabella
having slash = 5


edit. Lieto di essere smentito ma non credo proprio che possa contare le occorrenze di un carattere tramite le regexp di mysql.

Kokinjoshi
02-10-2009, 16:33
Io risolverei cosė


select *, length(campo) - length(replace(campo, '/', '')) as slash
from tabella
having slash = 5


edit. Lieto di essere smentito ma non credo proprio che possa contare le occorrenze di un carattere tramite le regexp di mysql.

Grandissimo, funziona!
Questa soluzione č una vera e propria furbata, non mi sarebbe mai venuta in mente, grazie mille! :)