Postgresql功能自动添加'字符串到字符串的结尾

时间:2015-10-29 12:55:33

标签: sql string postgresql function postgresql-9.2

我在PostgreSQL数据库中有一个函数。但是,每次我在PostgreSQL中运行该函数时,它会自动添加查询后面的字符 s ,因此,执行时会收到错误。

示例查询最终看起来像这样:

WHAT IN HERE: query SELECT uom_id FROM ps_quantity where id = 11s

我的版本是PostgreSQL 9.2.13。我怎么解决这个问题?感谢。

 CREATE OR REPLACE FUNCTION select_field(
    selected_table text,
    selected_field text,
    field_type_sample anyelement,
    where_clause text DEFAULT ''::text)
  RETURNS anyelement AS
$BODY$ DECLARE
    -- Log
    ME  constant text := 'selected_field()';
    -- Local variables
        _qry          varchar := '';
        _result_value ALIAS FOR $0;
    where_clause1 varchar := 'asdasdsad';   
    BEGIN
    RAISE NOTICE 'FUNCTION: SELECT_FIELD';
    -- BANGPH
    RAISE NOTICE 'BANGPH - CHANGE 11s to 11';

        _qry := 'SELECT uom_id FROM ps_quantity where id = 11';

    RAISE NOTICE 'WHERE = %s', where_clause1;                 

    RAISE NOTICE 'WHAT IN HERE: query %s', _qry;

1 个答案:

答案 0 :(得分:4)

As the manual explains:

而不是:

RAISE NOTICE 'WHAT IN HERE: query %s', _qry;

你需要使用:

RAISE NOTICE 'WHAT IN HERE: query %', _qry;

RAISE语句的占位符没有"类型修饰符",它是普通的%