以下查询从字符串中取出括号,即正则表达式将它们替换为空。当我在 pgAdimin III (1.12) 中对其进行测试时,它按预期工作,但是当使用 psycopg2 作为 python 脚本的一部分时,它根本不会替换括号。
SELECT
regexp_replace(location.name, '\\(|\\)', '', 'g') AS host
FROM
location
我正在使用 psycopg2 2.3.2 运行 python 2.7.1,我的操作系统是 SLES 11 SP1。
我希望在 pgAdmin 中运行的 postgres 查询将返回与使用 psycopg2 运行的完全相同的结果,或者这是一个不正确的假设?如果需要,我可以提供数据,但location.name
它是一个字符串,例如
(山羊)172.10.xx -> /var/log/messages
编辑:Python代码:
cursor.execute("""
SELECT
regexp_replace(location.name, '\\(|\\)', '', 'g') AS host
FROM
location
""")
参数化参数看起来像答案。