查询Postgres数据库

时间:2015-08-17 14:16:57

标签: sql postgresql

我想查询一个列与字符串匹配的数据库&这个字符串有一个单引号字符'。我无法运行以下查询

SELECT * 
from <table> 
where <column>='robocopy'w (ithout)backup.pcap';

原因是单引号用于搜索列; 我试过双引号但没有帮助。 如果我在字符串中的单个引号之前添加额外的单引号,我可以通过它。

SELECT * 
from <table> 
where <column>='robocopy''w (ithout)backup.pcap';

但我需要一个更好的解决方案,因为每次添加一个单引号是不切实际的,特别是如果它们很长并且有很多单引号。

1 个答案:

答案 0 :(得分:0)

您需要在将查询字符串发送到数据库之前将其转义。我无法告诉你,因为你没有发布代码,但如果你直接在psql控制台中运行这个查询,你可以通过将所有约束放在$$和$$中来转义引号,如在文献中引用[1]。示例:

A{4}|A{8}|A{12}

[1] http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING