it-swarm.asia

Bagaimana saya bisa mengubah string menjadi presisi ganda di PostgreSQL?

Bagaimana saya bisa mengubah string menjadi presisi ganda di PostgreSQL?

Saya mencoba sesuatu seperti:

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

di mana garis lintang adalah string dan garis lintang2 adalah garis ganda. Aku hanya tidak bisa membuatnya bekerja.

19
Yazz.com

double bukan tipe data postgres:

select cast('324342' as double);
 ERROR: ketik "double" tidak ada 
 LINE 1: pilih cast ('324342' sebagai double); 
 ^ 

tetapi double precision adalah:

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

Jadi cobalah:

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

jika mau, Anda dapat menggunakan float * sebagai gantinya, karena menurut --- (ke dokumen :

mengambang tanpa presisi yang ditentukan diambil berarti presisi ganda

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

db <> biola --- (di sini


*  atau float(n) di mana 25 <= n <= 53 karena itu juga diartikan sebagai presisi ganda