TRY_CAST returns NULL instead of error when conversion fails — essential in staging loads. PostgreSQL has no native TRY_CAST; validate with regex or wrap in PL/pgSQL with EXCEPTION.
Regex pattern (integers)
PostgreSQL
SELECT CASE WHEN code ~ '^[0-9]+$' THEN code::int ELSE NULL END AS code_num FROM staging_import;