Skip to content

Search vehicle.vehicle phone numbers from JSON columns

Note that there is a difference between querying with a single arrowhead "->" and double arrowhead "->>":

tms_fleet=> SELECT index, uuid, vehicle->'phone_number' AS vehicle_phone_number FROM vehicle LIMIT 1;
-[ RECORD 1 ]--------+-------------------------------------
index                | 2083
uuid                 | 9de6f50d-34e5-4e74-8984-1ba67ecfc71f
vehicle_phone_number | "+358123456789"

tms_fleet=> SELECT index, uuid, vehicle->>'phone_number' AS vehicle_phone_number FROM vehicle LIMIT 1;
-[ RECORD 1 ]--------+-------------------------------------
index                | 2083
uuid                 | 9de6f50d-34e5-4e74-8984-1ba67ecfc71f
vehicle_phone_number | +358123456789

Full match search:

tms_fleet=> SELECT index, uuid, vehicle->>'phone_number' AS vehicle_phone_number FROM vehicle WHERE vehicle->>'phone_number' = '+358123456789';

Wildcard search:

SELECT * FROM vehicle WHERE vehicle->>'phone_number' LIKE '%469';