[英]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.