2012-04-14 31 views
-1

說我有一個兩列的表稱爲A和B.我想要得到的是滿足以下條件的結果集:如何測試null和not null列在MySQL

獲取結果集中的

  1. A欄爲空
  2. B列不爲空

所以我做了以下SQL:

SELECT * FROM myTestTable WHERE columnA IS NULL and columnB IS NOT NULL; 

但它會引發錯誤?

任何人都可以請幫忙嗎?

在此先感謝!

+6

「但是,它拋出一個錯誤」是無益的。請給出確切的錯誤信息。 – 2012-04-14 08:22:13

+0

它只是說「你的MySQL語法附近出現錯誤columnA IS NULL AND ...」 – 2012-04-14 12:38:00

回答

1

更新!

該查詢將與加反引號(')這樣的工作:

 

SELECT * FROM `myTestTable` WHERE `columnA` IS NULL and `columnB` IS NOT NULL; 

1

你沒有發佈你得到的錯誤,但你可以試試這個。

CREATE table ex(column1 varchar(10), column2 varchar(10)); 

INSERT into ex VALUES(NULL,'gvd'); 
INSERT into ex VALUES(NULL,'vish'); 
insert into ex VALUES('b',NULL); 
insert into ex VALUES(NULL,NULL); 

SELECT * FROM ex 
where column1 is NULL AND column2 is NOT null; 

column1 column2 
---------- ---------- 
NULL  vish 
NULL  gvd 

(2行(S)的影響)

那麼它的作品在我的情況精細按照上面的查詢。

+0

謝謝你:-)但是,上述不適用於我。儘管如此,這個工作:SELECT * FROM ex WHERE'column1'是NULL和'column2'不是NULL。區別在於撇號。不知道爲什麼...... – 2012-04-14 12:37:00

+0

@HoneyBadger:當你使用撇號,這是指*值*我不希望該查詢返回任何結果。 – 2012-04-14 17:18:10