簡體   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