What error-tolerant type coercion operators / functions exist?
I thought ::! would yield either 3 or null but it throws an error.
Use case is loading real world data into legacy tables for many columns with a consistent simple operator, not wanting to think too specifically about each particular column type, target type, and conversion path.
SELECT '3.14' ; `'3.14'`
SELECT '3.14' :: FLOAT ; `3.14`
SELECT '3.14' :: INT ; ` Invalid input syntax for integer: "3.14" `
SELECT '3.14' ::! INT ; `Invalid input syntax for integer: "3.14" `
SELECT '3.14' !:: INT ; `7` (this was a fun one to figure out)
SELECT CAST('3.14' AS INT); `Invalid input syntax for integer: "3.14"`
SELECT '3.14' :: FLOAT :: INT ; `3`
SELECT ROUND( '3.14') ; `3`