2013-06-04 15 views
5

ho in colonna della tabella pnum_sOttenere solo cifre utilizzando regexp

ho bisogno solo ottenere che le righe, che il valore nella colonna pnum_s è esattamente 10 simbolo e tutti questi simboli sono solo cifre

quello query deve scrivere per Questo?

sto cercando

SELECT * FROM mytable WHERE pnum_s REGEXP '^\d+$'

ma questo non restituisce 0 righe

+0

'REGEXP '\ d {10}''? –

+0

Hai bisogno di fuggire '\ d'? –

+0

Probabilmente, non ho familiarità con il modo in cui MySQL esegue le espressioni regolari, ma in base alle barre (http://www.regular-expressions.info/mysql.html) è necessario eseguire il backslash. Il problema dell'OP può essere dovresti usare '\ $' piuttosto che solo '$'. –

risposta

11

Il modello che stai cercando è '^[0-9]{10}$' o '^[[:digit:]]{10}$'.

Tutto è in the manual.

+0

Ho provato il modo PCRE '\ d' e non sono riuscito. :( – peter

4

Penso che con Mysql si vorrà qualcosa di simile:

^[[:digit:]]{10}$ 
1

provare questo schema:

'^[0-9]{10}$' 
Problemi correlati