我正在运行PostgreSQL 9.4,并向我的数据库插入大量记录。我在插入后使用RETURNING子句进行进一步的使用。
当我简单地运行时:
... RETURNING my_car, brand, color, contact
一切都正常,但如果我尝试使用REGEXP_REPLACE,它会失败:
... RETURNing my_car, brand, color, REGEXP_REPLACE(contact, '^(\+?|00)', '') AS contact
它失败了,显示如下:
ERROR: invalid regular expression: quantifier operand invalid
如果我直接在PostgreSQL中运行查询,它确实可以工作并返回一个不错的输出结果。
standard_conforming_strings
(即select current_setting('standard_conforming_strings')
)。-- 从9.1开始,默认情况下启用它。如果它是off
,那么语法将是'^(\\+?|00)'
。此外,有一种特殊的语法,无论这个选项如何都能工作:E'^(\\+?|00)'
。但通常最好保持打开状态以避免出现意外情况。 - pozscontact
的值,以便我们确定它在哪里失败了吗? - Vao Tsun