>Allora nel campo prezzodivendita di tipo text c'e' il valore:
>3.72 se io lancio:
>
>ALTER TABLE gestionale.prodotti ALTER COLUMN prezzovendita TYPE
>decimal;
>
>mi ridà il seguente errore:
>
>
>ERROR: column "prezzovendita" cannot be cast to type "pg_catalog.numeric"
>Stato SQL: 42804
Hai solo una riga con prezzodivendita valorizzato a 3.72?
In questo caso sarebbe sufficiente una:
ALTER TABLE gestionale.prodotti
ALTER COLUMN prezzovendita TYPE decimal(3,2);
Ovvero, 1 cifra intera seguita da 2 cifre decimali. Il punto "." viene interpretato come separatore decimale.
Se hai più righe, l'errore può essere generato da alcuni valori che non sono numerici (ad esempio spazi o altri tipi di caratteri).
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org