SQL 2 where子句
我有一个相当简单的查询,我正试图在我的网站上执行,尽管如此,它还是不起作用。我使用了两个where子句,是的,我看到了许多关于多个where子句的其他问题,我的查询与他们的查询非常不同,因为他们的查询更复杂、更高级,所以我无法真正找到适合我的解决方案 这是我的疑问SQL 2 where子句,sql,sql-server,razor-3,Sql,Sql Server,Razor 3,我有一个相当简单的查询,我正试图在我的网站上执行,尽管如此,它还是不起作用。我使用了两个where子句,是的,我看到了许多关于多个where子句的其他问题,我的查询与他们的查询非常不同,因为他们的查询更复杂、更高级,所以我无法真正找到适合我的解决方案 这是我的疑问 SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released = 0) 这个查询“有效”,因为它没有给我任何错误,它只是没有像它应该的那样拉出报告 UserId是一个int
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released = 0)
这个查询“有效”,因为它没有给我任何错误,它只是没有像它应该的那样拉出报告
UserId是一个int。
释放是有点
UserId=@0是我的Razor代码中使用的标量变量
先谢谢你
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is null)
这把它修好了。“Released is null”而不是“Released=0”。查看问题,如果Released为位,则其可能值为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)
运行两个查询,其中每个查询都包含where子句的一部分。它们是否都给出了所需的结果?“UserId=@0”,这是否正确?这个问题不清楚,请澄清UserId和Released的数据类型,以及为什么使用@0?这是一个字符串吗?感谢您的快速回复,原来将release改为“Released is null”是有效的。我已经编辑了我的问题以获得数据类型,@0是我在C#中使用的标量变量。谢谢!!允许为null,因此使用Released是null修复了它。