繁体   English   中英

如果参数为空,则sql查询返回0(基于Open Office)

[英]sql query returns 0 if parameter is null (Open Office base)

我有一个表“学生”,它由以下几行组成:

int      IDpupil
varchar  name
int      class

其中class是一个外键并且不能为空,即每个学生都必须上一堂课。

我希望看到每班的所有学生,具体取决于我想在每次新生时指定的班级编号。

如果指定了一个类,以下语句将达到预期目的:

SELECT "IDpupil", 
       "name", 
       "class" 
  FROM "pupils" 
 WHERE (("class" = :qClass) 
        OR (:qClass is null))

但是,如果我想查看该表中的所有学生,因此不指定数字,则仅返回“ 0”类的学生。 如果我用名字来做到这一点,那就行了。 在我看来,空参数被强制转换为0,这是我不想要的。 我怎样才能解决这个问题?

我尝试使用一个case语句,该语句应该测试输入是否为Null或“”,但是我没有使它起作用。 也许还因为案件陈述的复杂性。 然后我从这里尝试了此链接 也没有帮助。

我不能看到exactely是你probleme,但如果你想desplay所有puils只是一个大的select wihtout任何WHERE接近

SELECT "IDpupil", 
       "name", 
       "class" 
  FROM "pupils" 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM