簡體   English   中英

用MYSQL在兩列之間選擇最小值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM