如何拆分字符串并将其存储到不同的行

时间:2016-12-06 09:52:38

标签: postgresql format substring

我的表名为res_schedule。在该表中,我将字段设为sq_name_new1。 该字段内的值如下:

sq_name_new1
Gawade & Sushil & Arvind(Ramchandra Ankush Gawade,Arvind     Harishchandra More,Sushil Kailas Shinde)
Arvind / Krishna / Somnath(Somnath Gopinath Londhe,Arvind     Harishchandra More,Krishna Shesha Devadiga)
Deshmukh/Arvind BBS(new)(Arvind     Harishchandra More,Sanjay Dnyaneshwar Deshmukh)

所以在分割之后我想要结果为:

Ramchandra Ankush Gawade Arvind     Harishchandra More Sushil Kailas Shinde Somnath Gopinath Londhe Arvind     Harishchandra More Krishna Shesha Devadiga Arvind     Harishchandra More Sanjay Dnyaneshwar Deshmukh

也就是说它应该从记录中删除初始部分,并通过将其存储到一个不同的行中来拆分它。 所以为此,我使用了像:

这样的功能
unnest(string_to_array(substring(res_scheduledjobs.sq_name_new1,'\((().*)\)'),','))

但它没有正确地拆分该值。这个功能完成了记录的工作:

 Deshmukh/Arvind BBS(new)(Arvind     Harishchandra More,Sanjay Dnyaneshwar Deshmukh)

为:

sq_name_new1
new)(Arvind     Harishchandra More
Sanjay Dnyaneshwar Deshmukh

意味着它不会忽视'new)('这一部分。 所以我能做什么,这样它也会忽略'new)('和其他人一样。

等待您的回复。 请给我一些解决方案。我需要帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用

'\(([^()]*)\)[^)]*$'

而不是

'\((().*)\)'

作为正则表达式。