Hello,

Some databases such as SQLServer (try_cast) or BigQuery (safe.cast) offer 
not-throw conversion. In general, these tend to perform better than custom UDFs 
that catch exceptions and are also simpler to use. For example, in Postgres, I 
have a function that does the following:

CREATE OR REPLACE FUNCTION toFloat(str varchar, val real)
RETURNS real AS $$
BEGIN
  RETURN case when str is null then val else str::real end;
EXCEPTION WHEN OTHERS THEN
  RETURN val;
END;
$$ LANGUAGE plpgsql COST 1 IMMUTABLE;

I couldn't find a reference to such capabilities in Postgres and wondered if I 
missed it, and if not, is there any plan to add such a feature?

Thank you!
Laurent Hasson.

Reply via email to