如何在資料庫中搜索教師姓名狀態為0或1?我不知道這是否正確“狀態”<=1
SELECT * FROM "Teachers" WHERE LOWER("Name") = LOWER($1) AND "Section"=$2 AND "Status"<=1 LIMIT $3 OFFSET $4'
uj5u.com熱心網友回復:
你的 sql 沒問題,但如果你的狀態像@Luuk 所說的 -1、-2,它會選擇記錄。我建議使用IN以提高可讀性并僅選擇您指定的狀態
SELECT * FROM "Teachers" WHERE LOWER("Name") = LOWER($1) AND "Section"=$2 AND "Status" IN (0,1) LIMIT $3 OFFSET $4
uj5u.com熱心網友回復:
在 MySQL 中,布林值通常以 TINYINT(1) 格式存盤。在您的情況下,要檢索狀態為 0(false) 或 1(true) 的教師,SQL 查詢將是:
select * from Teachers where LOWER("Name") = LOWER($1) AND "Section" = $2 and "Status" = 0 or "Status" = 1 LIMIT $3 OFFSET $4
您應該嘗試遵循的另一件事是,嘗試從資料庫中檢索相關列而不是所有列,它比獲取所有列的性能要高得多。假設教師表包含以下列:
- ID
- 名
- 姓
- 全名
- 薪水
- 指定
- 地位
- 節等。
并且,假設您只想從表中獲取 FirstName、LastName、Designation、Section。您應該運行以下查詢,
select FirstName,LastName,Designation,Section from Teachers where LOWER("Name") = LOWER($1) AND "Section" = $2 and "Status" = 0 or "Status" = 1 LIMIT $3 OFFSET $4
希望這有助于學習 SQL 并祝你好運!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/336037.html
上一篇:TSQL使磁區“間隙和孤島”
