在我的表格中,我有col_A
,如下所示:
col_A
-----------------------------------
Dog_qq123r_sdf
Cat_old_qq34569er
Bird_tweet_A_qqikdf0_qq_sdfad
Cow_moo_moo_qq1_qq2_qq3
我想从derived_col_A
创建一个派生列col_A
。规则为'remove everything starting from first _qq'
col_A derived_col_A
------------------------------------------------
Dog_qq123r_sdf Dog
Cat_old_qq34569er Cat_old
Bird_tweet_A_qqikdf0_qq_sdfad Bird_tweet_A
Cow_moo_moo_qq1_qq2_qq3 Cow_moo_moo
是否有可以将col_A
转换为derived_col_A
的内置函数?
答案 0 :(得分:1)
您可以使用regexp_replace()
来处理此问题:
SELECT regexp_replace(Col_A, '_qq.*$',NULL) from your_table;
这将用{null}替换_qq
之后的所有内容。
答案 1 :(得分:0)
您必须创建新列并使用下一句更新它:
select split_part(<string>, '_qq'::text, 1);
- 示例:
select split_part('Cat_old_qq34569er', '_qq'::text, 1);
- 结果:Cat_old
我希望这可以帮到你。问候。