cod01
08cod02
e volendo uniformare il tutto affinché i due codici abbiano il prefisso 08 e siano della stessa lunghezza, è possibile utilizzare lpad specificando come padding '08' e la lunghezza di 7 caratteri:
lpad('cod01', 7, '08') = 08cod01
A questo punto, ipotizzando di avere una tabella padding che contiene la lunghezza con cui uniformare i codici, e quindi di voler prendere da questa tabella la lunghezza dei codici si può usare un semplice comando (da utilizzare eventualmente in transazione). Ad esempio avendo il padding e la tabella delle stringhe da modificare come segue:
luca=# select * from padding;è possibile dare il seguente update per inserire il padding nelle stringhe:
tipo | lunghezza
------+-----------
1 | 10
2 | 20
3 | 30
(3 rows)
luca=# select * from stringhe;
stringa_src | stringa_dest
-------------+--------------
Luca |
ciao |
(2 rows)
luca=# update stringhe set stringa_dest =
lpad( stringa_src, (select lunghezza from padding where tipo=2), '0')
where stringa_src = 'ciao';
UPDATE 1
luca=# select * from stringhe;
stringa_src | stringa_dest
-------------+----------------------
Luca |
ciao | 0000000000000000ciao
(2 rows)
Come si può notare è stato inserito un padding di 10 caratteri 0 (10 è stato selezionato dal tipo di padding 1) nella stringa ciao.
Nessun commento:
Posta un commento