it-swarm-eu.dev

Wie kann ich einen String in PostgreSQL in eine doppelte Genauigkeit konvertieren?

Wie kann ich einen String in PostgreSQL in eine doppelte Genauigkeit konvertieren?

Ich habe so etwas versucht wie:

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

dabei ist Breitengrad eine Zeichenfolge und Breitengrad2 ein Doppel. Ich kann es einfach nicht zum Laufen bringen.

19
Yazz.com

double ist kein Postgres-Datentyp:

select cast('324342' as double);
 FEHLER: Typ "double" existiert nicht 
 Zeile 1: Besetzung auswählen ('324342' als double); 
 ^ 

aber double precision ist:

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

Also versuche:

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

wenn Sie möchten, können Sie float verwenden * * stattdessen, weil gemäß zu den Dokumenten :

float ohne angegebene Genauigkeit bedeutet doppelte Genauigkeit

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

db <> fiddle hier


* *  oder float(n) wobei 25 <= n <= 53, weil das auch bedeutet doppelte Genauigkeit