psyco2.error.syntax语法error:syntax error 输入结束时)

6l7fqoea  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(851)

我在试着运行一个 sql python中的查询。它确实在中国起了作用 pgadmin ,但python报告了语法错误。

  1. cur_str.execute("select b2.linestring,b2.id,ST_Length(ST_Intersection(ST_Transform(ST_MakeValid(b2.linestring),28992),ST_Transform(ST
  2. _MakeValid(b1.geom), 28992))) from public.ways b2, public.pc4_2017 b1 where ST_Intersects(ST_Transform(ST_MakeValid(b2.linestring),28992)
  3. ,ST_Transform(ST_MakeValid(b1.geom),28992)",([pc4]))
  4. psycopg2.errors.SyntaxError: syntax error at end of input
  5. LINE 1: ...linestring),28992),ST_Transform(ST_MakeValid(b1.geom),28992)
  6. ^

我能得到一些帮助吗?

nukf8bse

nukf8bse1#

在python中,需要使用三重引号来生成多行字符串:

  1. cur_str.execute("""
  2. select
  3. b2.linestring,
  4. b2.id,
  5. ST_Length(ST_Intersection(ST_Transform(ST_MakeValid(b2.linestring),28992), ST_Transform(ST_MakeValid(b1.geom), 28992)))
  6. from
  7. public.ways b2,
  8. public.pc4_2017 b1
  9. where
  10. ST_Intersects(ST_Transform(ST_MakeValid(b2.linestring),28992),ST_Transform(ST_MakeValid(b1.geom),28992))
  11. """, ([pc4]))

相关问题