Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.2.0
    • 3.2.0
    • SQL
    • None

    Description

      Add a new SQL function try_cast. try_cast is identical to CAST with `spark.sql.ansi.enabled` as true, except it returns NULL instead of raising an error. This expression has one major difference from `cast` with `spark.sql.ansi.enabled` as true: when the source value can't be stored in the target integral(Byte/Short/Int/Long) type, `try_cast` returns null instead of returning the low order bytes of the source value.

      This is learned from Google BigQuery and Snowflake:
      https://docs.snowflake.com/en/sql-reference/functions/try_cast.html
      https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#safe_casting

      Attachments

        Activity

          People

            Gengliang.Wang Gengliang Wang
            Gengliang.Wang Gengliang Wang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: