SQL 2 where子句

时间:2014-09-05 07:48:38

标签: sql sql-server razor-3

我有一个相当简单的查询,我试图在我的网站上执行,尽管如此,它只是赢得了工作。我使用了2 where子句,是的,我已经看到很多关于where where子句的其他问题,我的查询与他们的查询非常不同,因为他们的查询更加复杂和先进,所以我可以&#39真的让解决方案适合我。

这是我的疑问;

SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released = 0)

查询"工作",因为它没有给我任何错误,它只是没有提取报告,因为它应该。

UserId是一个int。 发布了一点。

UserId = @ 0是我的Razor代码中使用的标量变量。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果已发布有问题,那么可能的值是 true false null (如果null可以接受)

所以可能的结果查询是..

    SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is null)
    SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is true)
    SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is false)

答案 1 :(得分:0)

SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is null)

这解决了它。 “释放为空”而不是“释放= 0”。