Separare caratteri e numeri

di il
3 risposte

Separare caratteri e numeri

buongiorno, volevo chiedere, come si può fare in una query separare un campo con lettere e numeri  e prendere solo i caratteri, ma la lunghezza delle lettere e numeri è diversa. Esempio: ABC 123 oppure DEFG 4567 oppure ACHGRT 198345.   Grazie

3 Risposte

  • Re: Separare caratteri e numeri

    Booh, io ho fatto una tabella monocampo.

    Mi ritrovo record del tipo:

    1 giulio cesare 00100 roma via del gladiatore 3 varie ed eventuali.

    Che abbia sbagliato a normalizzare la tabella? Può darsi!

    Io avrei creato due campi: prefisso e suffisso, nel prefisso la parte letterale e nel suffisso la parte numerica.

    Adesso potresti aggiungere due campi uno per le lettere e uno per i numeri.

    Da codice scorri i record e inserisci la parte letterale in un campo e quella numerica nell'altro identificando la posizione dello spazio tra lettere e numeri.

    Si, sembra drastico ma poi ti semplifichi la vita.

    Quando inserisci i nuovi record se vuoi ti porti appresso quell'errore di campo e aggiungi al salvataggio la funzione che splitta le due parti di codice.

  • Re: Separare caratteri e numeri

    09/01/2025 - sax ha scritto:

    buongiorno, volevo chiedere, come si può fare in una query separare un campo con lettere e numeri  e prendere solo i caratteri, ma la lunghezza delle lettere e numeri è diversa. Esempio: ABC 123 oppure DEFG 4567 oppure ACHGRT 198345.   Grazie

    Serve capire quali sono i punti fissi...!
    Sono caratteri sia quelli Alfabetici che quelli numerici... quindi quando dici che vuoi "prendere solo i caratteri" di quali parli...?
    L'ordine Lettere Numeri è sempre quello...? Cioè hai sempre PRIMA lettere e poi NUMERI...?

    In quel caso basta intercettare il separatore... mi pare che lo spazio sia sempre presente, quindi con INSTR(Valore," ") individui il punto di partenza e con MID$(...) vai a prendere la parte dopo il carattere separatore... 

  • Re: Separare caratteri e numeri

    Come ha scritto alex, eventualmente puoi verificare se la parte prelevata si può convertire in numero. Se si hai la parte numerica. Per l'alfanumerica non ci sono problemi anche xe1g 124 la parte xe1g sarebbe alfanumerica. Se hai xe1g 123b non hai parti numeriche.

Devi accedere o registrarti per scrivere nel forum
3 risposte