我有一个问题,在配置单元表中加载的列之一包含垃圾字符( "~ )在以实际值为后缀的列中( ABC ). 所以这个列的实际值是( ABC"~ ).此列可以有(或任何此类字符串)或null。这个表很大,更新不是一个选项。我想到了一个解决方案,即创建一个临时表,其中该列包含( ABC )或null,因此要删除此垃圾字符( "~ )在将数据从原始表复制到此临时表时完全执行。有人帮我把这些垃圾拿走吗?我尝试使用regexp函数,但没有成功。有什么建议吗?
"~
ABC
ABC"~
4c8rllxm1#
我没有正确使用regexp;是我的错。最初加载到表中的数据在列的值上附加了额外的字符。例如:如果列的实际值为 Adf452 ,则单元格中包含的数据 Adf452"~ .因此,我将数据加载到一个临时表中,如下所示:
Adf452
Adf452"~
insert overwrite table tempTable select colA, colB, colC, regexp_replace(colC,"\"~",""), partitionedCol from origTable;
这只需将数据加载到tentable中,而不需要那些垃圾字符。
1条答案
按热度按时间4c8rllxm1#
我没有正确使用regexp;是我的错。
最初加载到表中的数据在列的值上附加了额外的字符。例如:如果列的实际值为
Adf452
,则单元格中包含的数据Adf452"~
.因此,我将数据加载到一个临时表中,如下所示:
这只需将数据加载到tentable中,而不需要那些垃圾字符。