mysql - 在 mysql 中嵌套 IF() 选择?

标签 mysql sql

mysql 中的普通 IF() 选择如下:

SELECT IF(1 > 2, 2, 3);

问题:如何用额外的 IF() 评估替换最后一个参数?

SELECT IF(1 > 2, 'bigger', IF(4 > 5, 'bigger', 'smaller'));

最佳答案

使用 case 表达式!

SELECT (CASE WHEN 1 > 2 THEN 'bigger'
             WHEN 4 > 5 THEN 'bigger'
             ELSE 'smaller'
        END);

CASE 表达式是 SQL 支持条件逻辑的标准方式。 IF() 是一个特定于 MySQL(可能还有少数其他数据库)的定制函数。我强烈建议使用标准结构。

关于mysql - 在 mysql 中嵌套 IF() 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58166399/

相关文章:

mysql - 从另一个表获取值

PHP mysqli_query - INSERT INTO 不工作,错误不清楚

mysql - 带有井号的 SQL 列名称

php - sql中如何按月过滤

mysql - 动态卡芒贝尔奶酪

mysql - SQL - 将值传递给同一表上的嵌套选择查询而不选择值

sql - 如何从 Postgresql 中的纬度和经度查找城市名称?

sql - postgres 可以*有条件地*检查限制重复项吗?

python - 加载 MySQLdb 模块时出错 : No module named 'MySQLdb'

mysql - 如何统一SQL COUNT