首页 > 解决方案 > MySQL比较不同的值以防万一

问题描述

在此查询中,我使用 CASE WHEN 函数比较两种不同条件下的变量值。问题是数字,因为返回值 = 1,但正确的结果是 NULL(20 大于 8)。

SELECT DISTINCT
        case 
            when '20'>= '8' then null
            when '20'< '8' then '1'
        ELSE '0'
        end checkValue
    FROM DUAL;  

如何解决这个问题?

如果将 8 更改为 08,则查询将正确运行。此解决方案不适用,因为从变量到达数字:10 100 1000 个单位。

谢谢

标签: mysqlcase

解决方案


我已将字段类型从 VARCHAR 更改为 DECIMAL,在这种情况下工作正常。


推荐阅读