gpt4 book ai didi

mysql - 是什么导致 Date 在专门选择 NOT NULL 字段时为

转载 作者:行者123 更新时间:2023-11-29 01:50:51 27 4
gpt4 key购买 nike

在我的一个 MYSQL 数据库中,我做了以下查询:

SELECT * FROM mytable WHERE date_column < 1971-01-01 AND date_column IS NOT NULL;

这将返回大约 3000 个项目,其中日期在 mysql 命令行提示符和 IntelliJ IDEA mysql 数据库编辑器中显示为 NULL。

该列具有 DATE 类型。

数据库是已经运行了几年的产品数据库环境的副本。

记录怎么会变成那种状态?那是什么状态?我怎样才能正确修复它?

附注:< 1971/01/01子句只是为了从查询中过滤出正确的日期。如果我只是查询 IS NOT NULL 子句,当然我仍然会得到这些奇怪的日期。

最佳答案

我很惊讶这能奏效。首先,日期常量应该用单引号括起来:

SELECT *
FROM mytable
WHERE date_column < '1971-01-01' AND date_column IS NOT NULL;

其次,这不能为 date_column 返回 NULL 值。这暗示了以下两件事之一:

  • date_col 实际上是另一种类型,例如 varchar 并且您看到的是 'NULL' 字符串,而不是 NULL 值。
  • 另一列为 NULL

关于mysql - 是什么导致 Date 在专门选择 NOT NULL 字段时为 <null>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44114169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com