亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL SELECT只是非空值

MySQL SELECT只是非空值

白衣染霜花 2019-08-16 14:36:58
MySQL SELECT只是非空值是否可以執行只接受NOT NULL值的select語句?現在我正在使用這個:SELECT * FROM table然后我必須用php循環過濾掉空值。有辦法嗎?SELECT * (that are NOT NULL) FROM table?現在,當我選擇*我得到val1,val2,val3,null,val4,val5,null,null等....但我只是想得到我的結果中不為null的值。這可能沒有過濾循環嗎?
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

你應該用IS NOT NULL。(比較操作符=<>兩個給UNKNOWNNULL于表達的任一側)。

SELECT * FROM table WHERE YourColumn IS NOT NULL;

為了完整起見,我會提到在MySQL中你也可以否定null安全等式運算符,但這不是標準的SQL。

SELECT *FROM table WHERE NOT (YourColumn <=> NULL);

編輯以反映評論。聽起來您的桌子可能不是第一種正常形式,在這種情況下,更改結構可能會使您的任務更容易。其他幾種做法雖然......

SELECT val1 AS valFROM  your_tableWHERE val1 IS NOT NULLUNION ALLSELECT val2 
FROM  your_tableWHERE val2 IS NOT NULL/*And so on for all your columns*/

上述缺點是它為每列掃描多次一次。下面可能會避免這種情況,但我還沒有在MySQL中對此進行過測試。

SELECT CASE idx         WHEN 1 THEN val1         WHEN 2 THEN val2       END AS valFROM   your_table        /*CROSS JOIN*/
       JOIN (SELECT 1 AS idx                   UNION ALL
                   SELECT 2) tHAVING val IS NOT NULL  /*Can reference alias in Having in MySQL*/


查看完整回答
反對 回復 2019-08-16
?
浮云間

TA貢獻1829條經驗 獲得超4個贊


您可以篩選出特定列中包含NULL值的行:


SELECT col1, col2, ..., coln

FROM yourtable

WHERE somecolumn IS NOT NULL

如果要過濾掉任何列中包含null的行,請嘗試以下操作:


SELECT col1, col2, ..., coln

FROM yourtable

WHERE col1 IS NOT NULL

AND col2 IS NOT NULL

-- ...

AND coln IS NOT NULL

更新:根據您的意見,也許你想要這個?


SELECT * FROM

(

    SELECT col1 AS col FROM yourtable

    UNION

    SELECT col2 AS col FROM yourtable

    UNION

    -- ...

    UNION

    SELECT coln AS col FROM yourtable

) T1

WHERE col IS NOT NULL

我對Martin說,如果你需要這樣做,那么你應該改變你的數據庫設計。


查看完整回答
反對 回復 2019-08-16
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

Select * from your_table 
WHERE col1 and col2 and col3 and col4 and col5 IS NOT NULL;

這種方法的唯一缺點是你只能比較5列,之后結果總是假的,所以我只比較可以的字段NULL


查看完整回答
反對 回復 2019-08-16
  • 3 回答
  • 0 關注
  • 1324 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號