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

after changing YEAR to YEAR(+ 1 year)-1,value unexpectedly change

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Not a Bug
    • 12.1.2
    • N/A
    • N/A
    • None
    • mysql> select version();
      +------------------------+
      | version() |
      +------------------------+
      | 12.1.2-MariaDB-ubu2404 |
      +------------------------+
      1 row in set (0.01 sec)
    • Not for Release Notes

    Description

      description:after changing YEAR(dkw78.c4) to YEAR(dkw78.c4 + INTERVAL '1' YEAR) - 1,the col_1's value unexpectedly changes.In theory, the value should be the same

      mysql> SELECT YEAR(dkw78.c4) AS col_1 FROM t1 AS hdy31 RIGHT JOIN t3 AS dkw78 ON (dkw78.c2 = hdy31.c1);
      +-------+
      | col_1 |
      +-------+
      |  2020 |
      +-------+
      1 row in set (0.00 sec)
       
      mysql> SELECT YEAR(dkw78.c4 + INTERVAL '1' YEAR) - 1 AS col_1 FROM t1 AS hdy31 RIGHT JOIN t3 AS dkw78 ON (dkw78.c2 = hdy31.c1);
      +-------+
      | col_1 |
      +-------+
      |  NULL |
      +-------+
      1 row in set, 1 warning (0.00 sec)
      

      How to repeat

      DROP DATABASE IF EXISTS test;
      CREATE DATABASE IF NOT EXISTS test;
      USE test;
      CREATE TABLE t1 (
          c1 INT NOT NULL AUTO_INCREMENT,
          c2 VARCHAR(255) NOT NULL,
          c3 VARCHAR(255) NULL,
          c4 INT NULL,
          c5 DATE NOT NULL,
          c6 VARCHAR(10) NOT NULL,
          PRIMARY KEY (c1)
      );
       
      CREATE TABLE t3 (
          c1 INT NOT NULL AUTO_INCREMENT,
          c2 INT NOT NULL,
          c3 INT NOT NULL,
          c4 YEAR NOT NULL,
          c5 TIME NULL,
          c6 TINYINT NULL,
          c7 SMALLINT NULL,
          c8 MEDIUMINT NULL,
          c9 BIGINT NULL,
          c10 LONGTEXT NULL,
          c11 GEOMETRY NULL,
          c12 TINYTEXT NULL,
          c13 TINYBLOB NULL,
          c14 SET('x','y','z') NULL,
          c15 TINYINT(1) NULL,
          PRIMARY KEY (c1)
      );
       
      INSERT INTO t1 (c1, c2, c3, c4, c5, c6) VALUES (2579, 'sample_3bKxOOAviOsEZUX601LmXKqAKYyFXmj2e4D7HAznt', 'sample_rsqgYiakfFgdOjtCinonEzRmFDZOw3WgjR6pBcWuVxsaZQBYHIhV7PQILJt2oqOKOS6vxmRm4Z3QzZvLDn2bvxJpLCMOW81RuIvRNJjOdT3U5yh943Tnq0eJffCjCPpgdtPQZcGktYzTx1AQaVwG7nHkZj0REQs9mlkypriOTLujStvDuuKw7geoEh0WrE2FV4DzgkCAar0tDrCh', 34, '2025-02-06', 'sample_m');
       
      INSERT INTO t3 (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15) VALUES (4992, 2579, 9871, 2020, '2023-01-01 22:44:35', 46, 25, 79, 9, 'sample_AEtk3qwMxslH0XcoF3Ort1thTgJYkZUiwpxtTmxhWIgxq52IV6TU1YcGOwgH8ldWWyvLDqO7YEEgwONICRY92VcLmnijCrTWzOC5R0WrbXNpwg9ya9bAisamL0fbNK0b92wUXq6oxdO9BuGPlWyaS9ve6M7IRoQQkFBrDpsmDuQug7b8jOSxnBk6ztIrDvaLYM4aeQhSZMuJPSf3RkPeoIh5QanRUBtm3O5VXocvNbAJyTQgt3AhB2llo5tnO1bmh9gFLalw0NfvIsxlKUpQ4G6ZHsGpnQaXH6e4lPDDVX07bfgBSZNm0uolja55cRN9BAdSFKgaZmSxZywU0nR2iwTbewfhEq2IK2tVCQ0t9tOR4dtVjhYNtLoYYms3DWpah9BW9DpqKD4bBtCwiu9JgCaQys69sn53gW6jO5P734nR266nV4D1NG09DR0v4FhN4BSxwm6yQIQgXJUPpXIuJgM0Jzr0ZNNrbEHw6TUT2OjjXow92FMiXruAGixuDuZMkOf0LKqES6vOtMOKozH8Ldr4Sp4LSFDPc1qQFKD6sPtP9ngVqfI0WTuDWQTGS65hVh0p5KvlFKK3tkblFuonjfEyKG5QNDinXOVK3tgM0SRHnW8RQJ1rXgJHoQZOEopxKJFE7tHfLpqswhlT0ziNwLqZ6sxQ8eSIlA0jAFO8WjJGwXXOfs4xgmEI4eRav0lK4PuEOjQAnb2WHltjMA5rqHlGrcTcGpklPpdCJtBg6WEIYNvXihQqRvUg1Jw5ctg8rVgXJSb72yhESghMl7INYchsjZnuIkAI48xe0VSgGZgjg3rdhi02urw1zJDcPeupTXtMYmMQN1w9a1KXTYXu7Ysd6UDQLFjJyEKjcfQaHmyGvsZncCFWkLRjWPKyja8PQmWdLEOcuGplBdLcCoK8tQnX70sYeHLYqR9UnenaN5XXKahe0qpAdDBgjQYZvDadkvdqU591bfCHkgUBH70Z1Hfl51ukCHOty2JzcOvT6SaSVKNgGvTch6h7WRBMpBgJCL2ago2YZYPreIw3GF17xw7mjwk6QfnLAY23TgLTUV9TrCxQpcZD90YW8SCqZbXKYgfAsgt4OKrf2LZbQr0ziFfcF68MTm34rJmnPm1w0mIGCwMmU', ST_GeomFromText('POINT(89.285446 -33.318821)'), 'sample_YFFtbMWTmNenOjXxHy0YfyUoPQSfJAVvKICpHFIIMenooB36lYoAS3hPjCLJlPqpVho', X'D4A7E898B817C88330CBBBE9B0B6C2A736', 'z', NULL);
       
       
      SELECT YEAR(dkw78.c4) AS col_1 FROM t1 AS hdy31 RIGHT JOIN t3 AS dkw78 ON (dkw78.c2 = hdy31.c1);
      SELECT YEAR(dkw78.c4 + INTERVAL '1' YEAR) - 1 AS col_1 FROM t1 AS hdy31 RIGHT JOIN t3 AS dkw78 ON (dkw78.c2 = hdy31.c1);
      
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              chen7897 cl hl
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.