作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的一个 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/
我有一个带有模板函数的基类,该函数具有通用模板类型和专用版本。 #ifndef BASE_CLASS #define BASE_CLASS #include using namespace std;
我有这个 3D vector 模板 template class Vec3TYPE{ public: union{ struct{ TYPE x,y,z; }; struct{ TY
我是一名优秀的程序员,十分优秀!