首页 > 解决方案 > 如何比较 SQL 中的两个字符串值?

问题描述

问题陈述如下: When max_pos> 4 and max_neg is >1 然后找出intensity_level大于excitance_level的过山车的名称。

在这里,intensity_level 和excitance_level 是高、非常高等字符串值。我如何比较它们?

标签: sql

解决方案


您可以使用CASE表达式为您的intensity_leveland映射值excitement_level,然后比较它们

SELECT * 
FROM table_name 
WHERE 
    max_pos> 4 
    AND max_neg >1
    AND
    (
        CASE 
            WHEN intensity_level = 'high' THEN 0
            WHEN intensity_level = 'very high' THEN 1
            WHEN intensity_level = 'ultra high' THEN 2
        END 
        > 
        CASE 
            WHEN excitement_level = 'high' THEN 0
            WHEN excitement_level = 'very high' THEN 1
            WHEN excitement_level = 'ultra high' THEN 2
        END
    );

推荐阅读