当字符串长度未知时,如何在配置单元中执行子字符串

ljo96ir5  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(298)

我试着在列上做一个子串来得到一个值。
我在列中的值可以是: (de), (qweryjj), (yehehsb) .
我需要去掉括号,只在输出中提供值,所以我尝试了以下方法:

substring(string,2,(length(string)))

但这是行不通的。

vu8f3i0k

vu8f3i0k1#

你可以用 TRANSLATE 功能。

select TRANSLATE ( column_name,  '()', '') from yourtable;
dgsult0t

dgsult0t2#

如果您的要求是从列值中删除括号,则使用

regexp_replace(string column_name, string pattern, string replacement_string)

例如,下面的表达式将字符串“(de)”中的“(”或“)”替换为“”

regexp_replace("(abcde)", "(|)", "") returns abcde

因此,在select语句中,可以使用下面这样的列名

select regexp_replace(column_name,  "(|)", "") from table_name;

相关问题