You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hive中CASE WHEN语句如何同时设置两个LIKE匹配条件

错误原因

你原来的写法不符合Hive SQL语法要求:AND连接的必须是两个返回布尔值的判断条件,直接在AND后加字符串常量'%MOBILE%'是无效的,每个关键词匹配都需要写完整的[字段名] LIKE [匹配规则]结构。
另外Hive默认LIKE是大小写敏感的,如果需要匹配示例中首字母大写的Iphone、Mobile这类写法,建议用大小写不敏感的匹配函数ILIKE。

正确写法

大小写敏感版本

CASE
    WHEN `column` LIKE '%IPHONE%' AND `column` LIKE '%MOBILE%' THEN 'IOS'
    WHEN `column` LIKE '%ANDROID%' AND `column` LIKE '%LINUX%' THEN 'ANDROID'
    WHEN `column` LIKE '%LINUX%' THEN 'DESKTOP'
    ELSE 'NA'
END

大小写不敏感版本(适配各种大小写拼写场景)

CASE
    WHEN `column` ILIKE '%IPHONE%' AND `column` ILIKE '%MOBILE%' THEN 'IOS'
    WHEN `column` ILIKE '%ANDROID%' AND `column` ILIKE '%LINUX%' THEN 'ANDROID'
    WHEN `column` ILIKE '%LINUX%' THEN 'DESKTOP'
    ELSE 'NA'
END

效果验证

你提供的测试数据Iphone; Mobile; Mac OS X使用大小写不敏感版本的写法,会命中第一个分支,返回IOS,符合匹配要求。

内容的提问来源于stack exchange,提问作者Felipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 22:48:04