Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-8515

Explicit and implicit CAST from string to integer work differently

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.5, 10.0, 10.1, 10.2, 10.3, 10.4
    • Fix Version/s: 10.4
    • Component/s: OTHER
    • Labels:
      None

      Description

      Implicit cast:

      DROP TABLE IF EXISTS t1;
      CREATE TABLE t1 (a INT);
      INSERT INTO t1 VALUES ('1.5'),('1e2');
      SELECT * FROM t1;

      returns:

      +------+
      | a    |
      +------+
      |    2 |
      |  100 |
      +------+

      I.e. it understands floating point formats.

      Explicit CAST works differently:

      SELECT CAST('1.5' AS SIGNED), CAST('1e2' AS SIGNED);
      SHOW WARNINGS;

      returns:

      +-----------------------+-----------------------+
      | CAST('1.5' AS SIGNED) | CAST('1e2' AS SIGNED) |
      +-----------------------+-----------------------+
      |                     1 |                     1 |
      +-----------------------+-----------------------+
      1 row in set, 2 warnings (0.00 sec)
       
      +---------+------+------------------------------------------+
      | Level   | Code | Message                                  |
      +---------+------+------------------------------------------+
      | Warning | 1292 | Truncated incorrect INTEGER value: '1.5' |
      | Warning | 1292 | Truncated incorrect INTEGER value: '1e2' |
      +---------+------+------------------------------------------+

      i.e. it does not understand floating point formats.

      Explicit CAST should be fixed to understand floating point format.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bar Alexander Barkov
                Reporter:
                bar Alexander Barkov
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: