【问题标题】:SQL Query in Access with YesNo field Returns No Results带有 YesNo 字段的 Access 中的 SQL 查询不返回任何结果
【发布时间】:2014-03-22 17:24:35
【问题描述】:

我正在学习在 Access 2013 中使用 SQL,一切进展顺利,但我在作业的目标之一方面遇到了一些问题。首先,这里是我需要考虑的表信息:

Field Name          Data Type
StudentID           Short Text
FirstName           ""
MiddleInitial       ""
LastName            ""
DateofBirth         Date/Time
GradePointAverage   Number
Major               Short Text
CreditsEarned       Number
Probation           Yes/No
USCitizen           Yes/No
Class               Short Text

我需要做的是确定非美国公民的缓刑学生。以下是我的 SQL 查询代码:

SELECT   StudentID, LastName, FirstName, Major, Probation, USCitizen 
FROM Student
WHERE    Probation = 1
AND      USCitizen = 0;

当我运行此查询时,Student 表上应显示一条记录,但查询为空白,显示列名但没有数据行。这只是一项更大任务的一个方面,虽然我对其他目标没有任何困难,但这个目标却难倒了我。为什么它不返回单行结果?我在这里做错了什么?

【问题讨论】:

  • 如果没有看到应该显示的行的内容,这有点难以判断。从 Where 子句判断,Probation 不是 1USCitizen 不是 0 或两者兼而有之。您可以向我们展示sqlfiddle.com 上的数据吗?
  • 嗯,它要求我输入密码,但我看不到任何可以注册的地方......所以恐怕它没有帮助。 :(
  • 不要把你的密码或用户放到网上!!\

标签: sql database ms-access


【解决方案1】:

来自Microsoft Access Data Types on W3schools,您可以尝试比较-1而不是1:

逻辑字段可以显示为是/否、真/假或开/关。在代码中,使用常量 True 和 False(相当于 -1 和 0)。注意:是/否字段中不允许使用 Null 值。

抱歉,手头没有访问权限的副本来试试这个。

【讨论】:

  • 这很有效,非常感谢您的提示!很抱歉无法在我的网站上获取非 https 图像以获取数据,@waka。
  • 很高兴听到这个消息。头脑有点难以置信 -1==yes==true。
猜你喜欢
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多