Snowflake 的split_part
函数是否对字符串或字符串的各个分隔部分的大小有限制?例如,在 SQL Server 中,如果字符串的任何部分超过 256 个字节,该parsename
函数将返回null
该部分。
我看了这里,但找不到任何提到这种限制的地方
Snowflake 的split_part
函数是否对字符串或字符串的各个分隔部分的大小有限制?例如,在 SQL Server 中,如果字符串的任何部分超过 256 个字节,该parsename
函数将返回null
该部分。
我看了这里,但找不到任何提到这种限制的地方
为了证明接近 256 字节没有限制,我生成了一个 3MB 的字符串,其中包含 3 个子字符串。split_part()
能够毫无问题地提取 1MB 字符串:
create table LONG_STRING
as
select repeat('abcdefghijk', 100000)||','
||repeat('abcdefghijk', 100000)||','
||repeat('abcdefghijk', 100000) ls
;
select len(ls)
, len(split_part(ls, ',', 2))
from LONG_STRING
# 3,300,002 1,100,000