在Hive HQL中执行startsWith(带有子字符串?)

发布于 2025-01-14 22:34:33 字数 177 浏览 1 评论 0原文

我正在尝试在 Hive 中执行一种 Spark“StartsWith”。我一直在阅读这样做,我发现是用一个子字符串来做它

我有一个字符串,如果这个字符串以 UTC8 开头,我必须添加这个前缀 UTC8-Min8 否则,如果它以 PMM1 开头,我必须添加将 NTC2-Min8 添加到现有列。

I'm trying to do a kind of Spark "StartsWith" in Hive. I have been reading to do this and what i found is to do it with a substring

I have a string, if this string starts with UTC8 I have to add this prefix UTC8-Min8 otherwise if it starts with PMM1 I would have to add the prefix NTC2-Min8 to an existing column.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

下雨或天晴 2025-01-21 22:34:33

我认为如果你删除双引号它应该可以工作。不过你有一些语法错误。您可以尝试下面的代码吗?

SELECT 
id, sum, address,
CASE 
  WHEN substring(trim(prd_ex),1,4) = 'UTC8' THEN CONCAT('UTC8-Min8',column_exe) 
  WHEN substring(trim(prd_ex),1,4) = 'PMM1' THEN CONCAT('NTC2-Min8',column_exe) 
END 
AS col_type
from Table1;

i think if you remove double quote it should work. You have few syntax error though. COuld you pls try below code?

SELECT 
id, sum, address,
CASE 
  WHEN substring(trim(prd_ex),1,4) = 'UTC8' THEN CONCAT('UTC8-Min8',column_exe) 
  WHEN substring(trim(prd_ex),1,4) = 'PMM1' THEN CONCAT('NTC2-Min8',column_exe) 
END 
AS col_type
from Table1;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文