TiDB 的日期比较和 MySQL 不兼容

MySQL的

  > select VERSION()
  +-----------+
  | VERSION() |
  +-----------+
  | 8.0.15-6  |
  +-----------+


  > select NOW() > '';
  +------------+
  | NOW() > '' |
  +------------+
  | 1          |
  +------------+

  > show warnings;
  +---------+------+----------------------------------------+
  | Level   | Code | Message                                |
  +---------+------+----------------------------------------+
  | Warning | 1292 | Truncated incorrect datetime value: '' |
  +---------+------+----------------------------------------+

TiDB:

  > select VERSION()
  +--------------------+
  | VERSION()          |
  +--------------------+
  | 5.7.25-TiDB-v5.1.0 |
  +--------------------+
  1 row in set

  > select NOW() > '';
  +------------+
  | NOW() > '' |
  +------------+
  | <null>     |
  +------------+

  > show warnings;
  +---------+------+------------------------------+
  | Level   | Code | Message                      |
  +---------+------+------------------------------+
  | Warning | 1292 | Incorrect datetime value: '' |
  +---------+------+------------------------------+
  1 row in set

记录一下 相关 issue

btw 顺便吐槽一下,

json_extract('{"a": null}', '$.a') 返回的值是 CAST('null' AS JSON)

注意区分 json_extract('{"a": null}', '$.b') IS NULL

Comments