0
我有這樣的Oracle錶行:如何選擇只使用Active狀態
CREATE TABLE USERS(
USERID INTEGER NOT NULL,
GROUPID INTEGER,
SPECIALNUMBER VARCHAR2(60),
USERNAME VARCHAR2(50),
PASSWD VARCHAR2(50),
DATETOCHANGEPASSWD DATE,
ADDRESS VARCHAR2(60),
STATEREGION VARCHAR2(50),
COUNTRY VARCHAR2(50),
USERSTATUS VARCHAR2(30),
TELEPHONE VARCHAR2(50),
DATEUSERADDED DATE,
USEREXPIREDATE DATE,
DATEUSERLOCKED CHAR(20),
CITY VARCHAR2(50),
EMAIL VARCHAR2(50),
DESCRIPTION CLOB
)
我用這個SQL查詢來讀取行:
SqlStatementSmall = "SELECT c.*"
+ " FROM (SELECT b.*, rownum rn"
+ " FROM (SELECT a.*"
+ " FROM USERS a"
+ " ORDER BY %s %s) b"
+ " WHERE rownum <= ?) c"
+ " WHERE rn > ?";
我如何修改SQL查詢來選擇行只有狀態「有效」?
最良好的祝願
謝謝你的回答!我有一個問題 - 通過這種方式,「active」這個詞區分大小寫。我如何使它不區分大小寫? – user1285928 2012-07-13 17:34:04
AND UPPER(USERSTATUS)='ACTIVE' – krx 2012-07-13 17:55:22
@ user1285928 - 我不太明白'active'這個詞是否區分大小寫。無論您的數據庫是否區分大小寫。如果你的表中的值可以是'ACTIVE'和'active',那麼我不建議你使用'UPPER',因爲如果'USERSTATUS'上有索引,那麼你的查詢就不會使用它。你可以使用''WHERE Rn>?和USERSTATUS IN('ACTIVE','active')「'例如 – Lamak 2012-07-13 19:23:36