Query per formattare campi

di il
3 risposte

Query per formattare campi

Salve a tutti.
Vorrei sapere se c'è un modo per scrivere una query di aggiornamento che faccia quanto segue:
in un campo di una tabella che contiene dati in formato testo sono presenti valori numerici.
La lunghezza del campo è di tre caratteri.
Il cotenuto, che vien importato da un file excel, può contenere valori che non sono di tre caratteri.
Es. 10, 5, 0, null ecc.
Io vorrei che tutti fossero formattati in modo tale da avere degli zeri davanti e quindi di avere tutti i campi con il seguente formato 010,005,000 - per riprendere i valori precedenti.
Un grazie anticipato a tutti coloro che vorranno collaborare.

3 Risposte

  • Re: Query per formattare campi

    Ciao c'è una fantastica funzioncina..

    LPAD(tuo_campo,lunghezza_finale,caratteri_sostitutivi)

  • Re: Query per formattare campi

    Grazie Toki.
    Purtroppo non sono riuscito a scrivere una query di aggiornamento che possa utilizzare la funzione LPAD, ma cercando informazioni ho trovato comunque una soluzione che posto per coloro che avessero lo stesso problema.

    Posto che il campo debba avere lunghezza 3:
    SQL = "UPDATE <Nome_Tabella> SET <Nome_Colonna> = ('0' + <Nome_Colonna>) WHERE Len(<Nome_Colonna>) = 2"
    e/o
    SQL = "UPDATE <Nome_Tabella> SET <Nome_Colonna> = ('00' + <Nome_Colonna>) WHERE Len(<Nome_Colonna>) = 1"

    Se poi potessi postare un esempio con la funzione LPAD te ne sarei grato, se non altro per mia conoscenza.
  • Re: Query per formattare campi

    Ciao va benissimo anche la tua soluzione, la mia é:
    
    SQL = "UPDATE <Nome_Tabella> SET <Nome_Colonna> = LPAD(<Nome_Colonna>,3,'0')
    
    Ciao e alla prossima
Devi accedere o registrarti per scrivere nel forum
3 risposte