it-swarm.it

Come posso convertire una stringa in una doppia precisione in PostgreSQL?

Come posso convertire una stringa in una doppia precisione in PostgreSQL?

Ho provato qualcosa del tipo:

update points set latitude2 = cast(latitude as double) ;

dove latitude è una stringa e latitude2 è un doppio. Non riesco proprio a farlo funzionare.

19
Yazz.com

double non è un tipo di dati postgres:

select cast('324342' as double);
 ERRORE: il tipo "doppio" non esiste 
 LINEA 1: seleziona cast ('324342' come doppio); 
 ^ 

ma double precision è:

select cast('132342' as double precision);
 | float8 | 
 | : -- | 132342 | 

Allora prova:

update points set latitude2 = cast(latitude as double precision) ;

se preferisci, puoi usare float * invece, perché secondo --- (ai documenti :

float senza precisione specificata viene considerato come doppia precisione

select cast('132342' as float);
 | float8 | 
 | : -- | 132342 | 

db <> violino --- (qui


*  o float(n) dove 25 <= n <= 53 perché anche questo è considerato come doppia precisione