ERROR_OR
返回其输入中第一个不报错的表达式。如果所有表达式都产生错误,则返回 NULL。
语法
ERROR_OR(expr1, expr2, ...)
示例
-- 如果没有发生错误,则返回有效日期
-- 如果转换产生错误,则返回当前日期
SELECT NOW(), ERROR_OR('2024-12-25'::DATE, NOW()::DATE);
┌────────────────────────────────────────────────────────────────────────┐
│ now() │ error_or('2024-12-25'::date, now()::date) │
├────────────────────────────┼───────────────────────────────────────────┤
│ 2024-03-18 01:22:39.460320 │ 2024-12-25 │
└────────────────────────────────────────────────────────────────────────┘
-- 由于转换产生错误,因此返回 NULL
SELECT ERROR_OR('2024-1234'::DATE);
┌─────────────────────────────┐
│ error_or('2024-1234'::date) │
├─────────────────────────────┤
│ NULL │
└─────────────────────────────┘