postgres dblink escape single quote

99封情书 提交于 2019-11-29 09:36:23
niktrs

Try replacing \'inactive\' with ''inactive'' -- caution: two single quotes

   SELECT *
    FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
        'SELECT field_1, 
        CASE WHEN field_2 IS NOT NULL 
        THEN ''inactive'' ELSE ''active'' 
        END AS field_status 
        FROM the_table 
         ') 

AS linkresults(field_1 varchar(20),field_2 varchar(8))

Alternative (previous) solution

   SELECT *
    FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
        'SELECT field_1, 
        CASE WHEN field_2 IS NOT NULL 
        THEN E\'inactive\' ELSE E\'active\' 
        END AS field_status 
        FROM the_table 
         ') 

AS linkresults(field_1 varchar(20),field_2 varchar(8))
kaushik

Try this query:

SELECT *
 FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
 'SELECT field_1, 
 CASE WHEN field_2 IS NOT NULL 
 THEN $$inactive$$ ELSE $$active$$ 
 END AS field_status 
 FROM the_table') 
 AS linkresults(field_1 varchar(20),field_2 varchar(8))
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!