【发布时间】:2023-02-02 23:36:08
【问题描述】:
有一个我无法直接使用 Snowflake 文档解决的问题:
我有一个像 'abc\def' 这样的字符串
需要将其拆分为“abc”、“def”
试过: split_to_table('abc\def', '\\') - 错误
strtok_to_array('abc\def', '\\') ==> [ “abcdef” ]
另外,我试图在拆分之前将其替换为更好的定界符
替换('abc\cde','\\','_another_symbol_'); ==> abccde REGEXP_REPLACE('abc\cde','$$\$$','_another_symbol_') ==>abccde_another_symbol
但它不起作用
知道如何解决吗?
【问题讨论】:
-
abc\def是表中的值还是您正在玩的文字字符串?如果它被正确转义,它一定是作为abc\\def加载的,它可以与select split_part('abc\\def','\\',1)一起工作 -
这是我们从另一个来源转移到 Snowflake 的字段值
-
当您在雪花表上运行选择时,您看到的是
abc\def还是abcdef? -
如果您只查找一个 '\' 并且想分成 2 个单词,那么您可以试试这个。选择 'abc/def',SUBSTR('abc/def',1, regexp_instr('abc/def','/')-1) first_w, SUBSTR('abc/def', regexp_instr('abc/def', '/')+1 ) 来自 dual 的 secound_w ;
标签: replace split snowflake-cloud-data-platform backslash