判斷字段是否為空的條件是IS NULL、IS NOT NULL,下面的SQL查詢表XXX中YYY字段非空的記錄:
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元圍場(chǎng)做網(wǎng)站,已為上家服務(wù),為圍場(chǎng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
SELECT * FROM XXX WHERE YYY IS NOT NULL
mysql中查詢字段為null或者不為null
在mysql中,查詢某字段為空時(shí),切記不可用 = null,
而是 is null,不為空則是 is not null
select * from table where column is null;
select * from table where column is not null;
查詢字段為空的數(shù)據(jù)。如下三條語(yǔ)句查詢的結(jié)果各不相同。
select count(0) from tps_uw_detail where trim(coreContNo)=''; ###1736
select count(0) from? tps_uw_detail where coreContNo is null; ###735
select count(0) from? tps_uw_detail where (coreContNo is null or trim(coreContNo)='');##2471
='';就是存的空字符串;is null 就是默認(rèn)的。
由于是后來(lái)新加的字段,默認(rèn)為null,所以歷史數(shù)據(jù)都為null。表中加上這個(gè)字段后,再落庫(kù)的數(shù)據(jù)就是空字符串了。
根據(jù)自己的需求選用腳本,第三個(gè)是適合我的。
where
(name
is
not
null
or
name'')
正常的話只用name
is
not
null就好,但是不排除有空字符的情況,所以用上邊比較穩(wěn)妥
利用系統(tǒng)表information_schema.columns來(lái)查吧:
select table_schema,table_name,column_name
from information_schema.columns
where table_name='t111' and is_nullable='NO'
比如想查詢表a里title字段不為空的值:
select *from a where title null;