繁体   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