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

时间:2018-01-02 03:43:37

标签: hive substring

我正在尝试在列上执行子字符串以获取值。

我在列中的值可以是: 的 (abcde), (qweryjj), (yehehsb)

我需要删除括号并只提供输出中的值所以, 我试过这个:

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

但这不起作用。

2 个答案:

答案 0 :(得分:0)

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

regexp_replace(string column_name, string pattern, string replacement_string)
列上的

。例如,下面的表达式将“('或')'替换为字符串”(abcde)“和”“

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

因此,在您的select语句中,您将使用如下所示的列名

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

答案 1 :(得分:0)

您可以使用TRANSLATE功能。

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