PostgreSQL where 子句条件检查包含单引号

问题描述

假设我在 Postgres 数据库中有一个 employees 表,我必须在其中插入一个值为 john's 的员工姓名

由于它是 Postgres,我将通过将它们加倍来逃避单引号 ' -> ''

所以 john's 会变成 john''s

现在,当我使用 select query 选择该特定行/实例时,我必须再次将引号加倍。所以要选择值 john''s 我必须写 'john''''s' 并且我的查询变成 -

select * from employees where name = 'john''''s'

这是最好的方法吗?要么 对于这些特定类型的数据(包含引用),是否有任何替代数据插入和选择的过程?有什么建议吗?

解决方法

不,您不必将转义引号加倍:

select * 
from employees 
where name = 'john''s'