使用SQL Server 2016,我在表中有一行,我正在尝试根据两列创建一个查询来从该行中选择主键。
我知道行中的信息,但是当我在where子句中包含信息时,它仍然找不到任何内容。下面是显示行和查询的屏幕截图。查询什么都不返回。
我也试过使用&运算符,我尝试将22放入''和()。完成的列是数据类型binary(50)
,DoorNum
列是数据类型int
。
select *
from Dropoff
where finished = NULL
and DoorNum = 22;
答案 0 :(得分:4)
不要对NULL值使用“=”。因为没有什么等于NULL,甚至不是NULL。 NULL表示“未知”...如果你不知道其中有什么,你就无法比较它们。
将您的查询更改为:
select * from Dropoff
where finished IS NULL and
DoorNum = 22;
答案 1 :(得分:3)
我认为检查空值如下所示“为空”:
select * from Dropoff
where finished is NULL and
DoorNum = 22;
答案 2 :(得分:2)
使用IS NULL
代替下一个: -
select * from Dropoff
where finished is NULL and
DoorNum = 22;
遵循以下规则: -
答案 3 :(得分:1)
您应该使用app.get('/getFriends', requireLogin, function(req, res) {
User.findOne({ _id: req.user.id }, 'friends')
.populate({
path: 'friends.id',
model: 'User',
select: 'username firstName lastName -_id'
})
.exec(function(err, user) {
var friends = user.friends.map(function(v) {
delete(v._id);
delete(v.status);
return v;
});
res.json(friends);
})
})
代替:
Is Null
使用SELECT *
FROM Dropoff
WHERE finished is NULL and DoorNum = 22;
确定指定的表达式/值Is Null
。