当前位置: 首页 > 面试题库 >

postgres dblink转义单引号

杜正奇
2023-03-14
问题内容

相关链接:

  • PostgreSQL中的字符串文字和转义字符

这是我的错误:

ERROR:  type "e" does not exist

这是我的查询:

SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
    E'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))

如果我使用双引号,请删除单引号的反斜杠转义符,并在SELECT语句之前删除E

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))

我得到这个:

NOTICE:  identifier "SELECT ..." will be truncated

而且由于查询被截断,我也收到错误消息。

我以前曾使用dblink进行过转义,因此是否需要服务器设置或需要配置的东西?

我知道如果我在sql服务器本身上运行查询,但该查询工作正常,但不能与dblink一起运行。有什么想法吗?

Postgres 8.4版


问题答案:

尝试替换\'inactive\'''inactive''-注意:两个单引号

   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))

替代(先前)解决方案

   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))


 类似资料:
  • 问题内容: 我该如何工作? 将在引起此故障。我从类似的文件运行它,但也无法从命令行运行。我试过使用and 和(unicode ) 我被卡住了 问题答案: 我有同样的问题。最简单的解决方案是,除了用单引号引起来的撇号外,还要使用反斜杠来将其引起来。 对于您的用例,更改为,它应该可以工作。 另一种方法是将POST数据()用双引号引起来,同时用反斜杠转义JSON字符串中所有嵌套的双引号。

  • 问题内容: 如何在JavaScript中转义(单引号)? 这是我尝试使用的地方: 上面代码的结果在文本框中填充了“ hel”。我试图用\代替’,但这就是我得到的。 上面代码的结果在文本框中填充了“ hel \”。 如何成功转义单引号? 问题答案: 您可以使用HTML实体: 对于 对于 … 。

  • 本文向大家介绍php jsonp单引号转义,包括了php jsonp单引号转义的使用技巧和注意事项,需要的朋友参考一下 php中jsonp输出时一般用下面的格式: 如果中间的json string中含有单引号,这个输出就是有问题的,调用方一般是无法处理的,所以我们要对单引号进行转义。 如果是用json_encode方式生成可以用下面的方式转义: 这里 JSON_HEX_APOS 是php是提供的把

  • 我需要帮助在postgresql insert中转义单引号。我正在使用ETL工具从源中提取数据并加载到postgresql数据库中。Select语句包含一些变量。 例如,我的选择查询是 变量的值为。这句话给了我一个错误 而不是被加载到postgres表中。谁能帮我分析单引号,我应该如何在变量中使用单引号?

  • 问题内容: 我有一个正在编写的脚本,用于将某些字段移至新的数据库,例如 但是如您所见,由于单引号和双引号,查询每次都会中断,是否有解决此问题的方法,例如herdok或类似的东西 问题答案: 为此而制作的。 PHP:mysql_real_escape_string

  • 我正在使用opencsv读取csv文件。有时csv文件中包含单引号或双引号。如何读取它们而不更改csv文件本身中的数据。 现在,如果我用两个单引号替换一个单引号,它工作正常,与双引号相同,用两个替换单个引号,它的工作原理。但我不想碰源文件。 要访问的代码如下: 这样做的结果是跳过下一行(也包含双引号),插入所有奇数行,跳过偶数行 提前谢谢