SQL bit is false
本文关键字:false is bit SQL | 更新日期: 2023-09-27 18:25:32
我遇到了一个问题,在过去的一个小时里我一直在努力解决,但似乎无法解决。我试过在谷歌上搜索答案,但没有找到一个适合我的答案,或者至少我没能找到。
这是我的代码:
@foreach (var row in db.Query("SELECT * FROM PersonnelFiles WHERE (Badge LIKE '#1003' OR Badge LIKE '#1004' OR Badge LIKE '#1005' AND Archived is not true) ORDER BY Badge ASC"))
{
<li>@row.Rank - @row.Name, @row.Badge</li>
}
因此,根据我有限的知识,它现在应该返回徽章像"#1003"、"#1004"或"#1005"的所有条目,前提是这些条目没有存档。
但在尝试这样做时,它给了我一个错误:"语法错误,近乎错误"。
我希望你能帮助我,提前谢谢你。
编辑:Archived是位数据类型。
SELECT *
FROM PersonnelFiles
WHERE (
Badge LIKE '#1003' OR
Badge LIKE '#1004' OR
Badge LIKE '#1005' AND
Archived AND Archived <> 1
) ORDER BY Badge ASC
与相同
SELECT *
FROM PersonnelFiles
WHERE (
(Badge LIKE '#1003') OR
(Badge LIKE '#1004') OR
(Badge LIKE '#1005' AND Archived <> 1)
) ORDER BY Badge ASC
我猜你的意思是
SELECT *
FROM PersonnelFiles
WHERE
(
Badge LIKE '#1003' OR
Badge LIKE '#1004' OR
Badge LIKE '#1005'
) AND Archived <> 1
ORDER BY Badge ASC
se SQL逻辑运算符优先级:And And Or
试试这个:
SQL SERVER中没有类似false的东西位具有1或0值
@foreach (var row in db.Query("SELECT * FROM PersonnelFiles WHERE
(Badge LIKE '#1003' OR Badge LIKE '#1004' OR
Badge LIKE '#1005' AND Archived <>1) ORDER BY Badge ASC"))
{
<li>@row.Rank - @row.Name, @row.Badge</li>
}
SQL SERVER数据类型