Comment puis-je convertir une chaîne en double précision dans PostgreSQL?
J'ai essayé quelque chose comme:
update points set latitude2 = cast(latitude as double) ;
où latitude est une chaîne et latitude2 est un double. Je n'arrive pas à le faire fonctionner.
double
n'est pas un type de données postgres:
select cast('324342' as double);
ERREUR: le type "double" n'existe pas LIGNE 1: sélectionnez la distribution ('324342' comme double); ^
mais double precision
est:
select cast('132342' as double precision);
| float8 | | : -- | 132342 |
Alors essayez:
update points set latitude2 = cast(latitude as double precision) ;
si vous préférez, vous pouvez utiliser float
* à la place, car selon --- (aux documents :
un flotteur sans précision spécifiée signifie une double précision
select cast('132342' as float);
| float8 | | : -- | 132342 |
db <> violon --- (ici
* ou float(n)
où 25 <= n <= 53 parce que c'est aussi pris pour signifier double précision