[英]SELECT least value between two columns with MYSQL
您好,我正在嘗試使用 MySQL 選擇 3 列之間的最小值。
我面臨的問題是在列中我可能有NULL
值。 我怎樣才能得到不是NULL
最小值?
運行select least(1, 3, NULL)
將返回NULL
但我想要1
作為答案。
感謝您的幫助。
least()
處理null
的方式是記錄在案的行為:
如果任何參數為
NULL
,則結果為NULL
。 不需要比較。
這可能看起來很煩人,但是將null
值傳播到結果集是您的數據庫向您發出未定義值的信號; 這與其他涉及null
操作(字符串連接、算術運算等)的行為一致。
如果只有第三列可能是null
,而其他兩列都不是,你可以這樣做:
least(col1, col2, coalesce(col3, col1))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.