我需要一个帮助来转义postgresql insert中的单引号。我正在使用ETL工具从源代码中提取数据并加载到postgresql数据库中。Select语句包含一些变量。
例如,我的select查询是

SELECT ${UNIVERSITY},date from education.

变量${UNIVERSITY}的值为Duke's university。这个陈述给了我一个错误
ERROR: syntax error at or near "s"

不会被加载到postgres表中。有谁能帮我在esacping单引号,我应该如何使用变量?

最佳答案

你可以做SELECT REPLACE(${UNIVERSITY},'''', ''''''),date from education.
但您可能只需要执行SELECT '${UNIVERSITY}',date from education操作,因为您的查询看起来像:

SELECT Duke's university,date from education

这在SQL语法上是绝对错误的。

关于sql - PostgreSQL单引号转义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29231878/

10-09 09:24