IntermediateString Functions
JSON-like string parsing with SUBSTRING and POSITION
The query
SQL
-- Parse: "name=John;age=30;city=Mumbai"
WITH raw AS (
SELECT 'name=John;age=30;city=Mumbai' AS data
)
SELECT
SUBSTRING(data, POSITION('name=' IN data) + 5,
POSITION(';' IN SUBSTRING(data, POSITION('name=' IN data) + 5)) - 1) AS name,
SUBSTRING(data, POSITION('age=' IN data) + 4,
POSITION(';' IN SUBSTRING(data, POSITION('age=' IN data) + 4)) - 1) AS age
FROM raw;Note
“POSITION finds location, SUBSTRING extracts. Messy for complex data — migrate to JSONB when possible.