如何在SQL Amazon Redshift中移除字符串的方括号与逗号
在Amazon Redshift中清理带方括号和逗号的字符串
你遇到的问题核心是:LTRIM只能删除字符串开头的指定字符,管不了中间的逗号、引号和结尾的方括号;而系统提示用CAST,大概率是因为你的字段是JSON/VARIANT类型,必须先转成字符串才能做字符替换操作。
给你两种场景的具体写法:
场景1:字段是JSON/VARIANT类型
先把JSON类型转成字符串,再批量移除不需要的字符:
SELECT REPLACE( REPLACE( REPLACE( CAST(your_column AS VARCHAR), -- 将JSON/VARIANT转成字符串类型 '[', '' -- 移除左方括号 ), ']', '' -- 移除右方括号 ), '","', ' ' -- 把双引号+逗号换成空格,也可以换成空字符串'' ) AS cleaned_string FROM your_table;
场景2:字段已经是字符串类型
如果字段本身就是VARCHAR,不用CAST,直接替换即可:
SELECT REPLACE( REPLACE( REPLACE( your_column, '[', '' ), ']', '' ), '","', ' ' ) AS cleaned_string FROM your_table;
要是你想把所有双引号也一并去掉,再加一层REPLACE(..., '"', '')就行。
内容的提问来源于stack exchange,提问作者Sky
相关产品推荐
相关产品推荐

