hiveql:从字符串列中删除前导空格

llmtgqce  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(794)

我有一张这样的table。

ID | Salary| Name|
_________________________
 1 | 50000|  Lee

 2 | 60000|  Camile

 3 | 70000|  Luther

每个名字前面都有一个空格;如果我想从所有条目中删除该空间,我该怎么做?我试过使用regexp\u replace,但语法不对。
到目前为止,我已经想出了这个,但我不知道如何让它工作。

CREATE EXTERNAL TABLE IF NOT EXISTS Emp(id string, salary int, name string)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ':'

STORED AS TEXTFILE LOCATION '/user/xxx/employee/'

TBLPROPERTIES ('skip.header.line.count'='3');

AS SELECT name, REGEXP_REPLACE(name, ' ')

FROM emp;
mfpqipee

mfpqipee1#

你可以用 ltrim 函数从字符串中删除所有尾随空格。

select id, salary, ltrim(name) as name from your_table;

同样地 rtrim 函数从字符串中删除所有前导空格。

select id, salary, rtrim(name) as name from your_table;

以及 trim 函数删除所有前导和尾随空格

select id, salary, trim(name) as name from your_table;

相关问题