Menghantar JSONB PostgreSQL ke Terapung
Apabila cuba melakukan operasi aritmetik pada lajur jenis PostgreSQL JSONB yang mengandungi nilai angka, anda mungkin menghadapi ralat disebabkan untuk menaip tidak sepadan. Artikel ini menunjukkan cara untuk mengatasi isu ini dan berjaya menghantar nilai JSONB ke terapung.
Punca ralat dalam pertanyaan yang diberikan ialah percubaan untuk menambah nilai angka (1.0) pada nilai JSONB, yang menghasilkan dalam ralat "pengendali tidak wujud". Untuk menangani perkara ini, anda boleh menggunakan penghantaran untuk menukar nilai JSONB kepada apungan sebelum melaksanakan operasi.
Walau bagaimanapun, hanya menghantar nilai JSONB kepada terapung mungkin tidak mencukupi, kerana PostgreSQL menawarkan dua pilihan untuk mengakses nilai JSON:
Dalam kes khusus anda, kerana anda tahu bahawa nilai lat adalah semua nombor JSON, anda boleh menggunakan pertanyaan berikut untuk menghantarnya terapung:
SELECT (json_data->>'position'->>'lat')::float + 1.0 AS lat FROM updates LIMIT 5;
Pertanyaan yang disemak ini sepatutnya berjaya menghantar nilai lat JSONB ke terapung, membolehkan anda melakukan operasi yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar PostgreSQL JSONB ke Terapung untuk Operasi Aritmetik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!