Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    mysql estrarre stringa con regexp

    salve
    ho ereditato un db assai poco strutturato quindi volevo riversare il tutto su un altro db costruito meglio. In particolare i numeri di fattura, che sono sempre nel formato 1 numero 1 lettera e 8 numeri sono inseriti all'interno di un campo di testo assieme ad altre informazioni (data, nome ecc.) in posizioni sempre diverse del campo. Esiste una query che permetta di individuare esattamente i 10 caratteri del numero fattura? Ho provato delle query per combinare instr con regexp ma non funzionano.
    grazie a chi sa darmi qualche suggerimento

  2. #2
    la query

    SELECT MID(testo,INSTR(testo,(REGEXP '^[0-9]{1}[A-Z]{1}[0-9]{8}'),8) AS nrofattura

    mi da errore come è possibile correggerla?

  3. #3
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    invece di fare tutto con mysql, fatti uno scriptino php.

  4. #4
    il problema è che neanche usando php saprei come individuare la parte del testo che indica il numero fattura

  5. #5
    Puoi provare così:

    Codice PHP:
    ...
    $dati ""// String acontenente i dati da verificare
    preg_match_all("/[0-9]{1}[a-z]{1}[0-9]{8}/i"$dati$out);
    print_r($out);
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6

    risolto

    Originariamente inviato da satifal
    Puoi provare così:

    Codice PHP:
    ...
    $dati ""// String acontenente i dati da verificare
    preg_match_all("/[0-9]{1}[a-z]{1}[0-9]{8}/i"$dati$out);
    print_r($out);
    ... 
    Perfetto funziona! Grazie mille non conoscevo questa funzione PHP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.