Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menghantar Data JSONB PostgreSQL ke Terapung untuk Operasi Matematik?
Dalam PostgreSQL, percubaan untuk melaksanakan operasi matematik dengan data JSONB selalunya mengakibatkan ralat seperti "pengendali tidak wujud" apabila penukaran kepada float tidak dinyatakan secara eksplisit.
Untuk menyelesaikan isu ini, pertimbangkan JSON yang berbeza pengendali perolehan nilai:
Memandangkan apungan disimpan sebagai teks dalam JSONB, anda perlu menggunakan ->> (Double Arrow) operator untuk mengekstrak perwakilan rentetan apungan sebelum cuba menghantarnya kepada terapung.
Sebagai contoh, pertimbangkan pertanyaan berikut:
SELECT (json_data->'position'->'lat')::float + 1.0 AS lat FROM updates LIMIT 5
Di sini, tanda -> Operator (Arrow) pada mulanya digunakan untuk mengekstrak 'kedudukan' objek JSON. ->> Operator (Double Arrow) kemudiannya digunakan untuk mendapatkan semula nilai rentetan 'lat'. Akhir sekali, operator ::float casting digunakan untuk menukar rentetan kepada apungan.
Dengan menggunakan pengendali perolehan nilai JSON yang sesuai, anda boleh berjaya menghantar nilai JSONB ke terapung dalam pertanyaan PostgreSQL anda.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data JSONB PostgreSQL ke Terapung untuk Operasi Matematik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!