query per formattare campi

Forum dedicato interamente a Microsoft Access

Moderatore: Toki

Regole del forum
Leggi: IProgrammatori.it - Regolamento Forum

query per formattare campi

Messaggioda kromax » 17 dic 2007, 18:08

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.
kromax
New Entry
 
Messaggi: 5
Iscritto il: 17 dic 2007, 17:25

Re: query per formattare campi

Messaggioda Toki » 17 dic 2007, 19:25

ciao c'è una fantastica funzioncina..

LPAD(tuo_campo,lunghezza_finale,caratteri_sostitutivi)

f28
Avatar utente
Toki
Moderatore Supremo
 
Messaggi: 2364
Iscritto il: 28 gen 2001, 14:35

Re: query per formattare campi

Messaggioda kromax » 18 dic 2007, 08:41

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.
kromax
New Entry
 
Messaggi: 5
Iscritto il: 17 dic 2007, 17:25

Re: query per formattare campi

Messaggioda Toki » 19 dic 2007, 21:36

Ciao va benissimo anche la tua soluzione, la mia é:

Codice: Seleziona tutto
SQL = "UPDATE <Nome_Tabella> SET <Nome_Colonna> = LPAD(<Nome_Colonna>,3,'0')


Ciao e alla prossima f28
Avatar utente
Toki
Moderatore Supremo
 
Messaggi: 2364
Iscritto il: 28 gen 2001, 14:35


Torna a Microsoft Access

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti

cron
IPROGRAMMATORI.IT 2013. Tutti i diritti riservati. - P.IVA 04135460873 | Pubblicità | Termini e Condizioni - Privacy Policy | Contatti | RSS 2.0 - Le news di IProgrammatori.itRSS