Postgresql 函数自动在字符串末尾添加 's' 个字符
Postgresql function auto add 's' character to the end of string
我在 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 [=12=];
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;
而不是:
RAISE NOTICE 'WHAT IN HERE: query %s', _qry;
您需要使用:
RAISE NOTICE 'WHAT IN HERE: query %', _qry;
RAISE
语句的占位符没有 "type modifier",它是普通的 %
我在 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 [=12=];
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;
而不是:
RAISE NOTICE 'WHAT IN HERE: query %s', _qry;
您需要使用:
RAISE NOTICE 'WHAT IN HERE: query %', _qry;
RAISE
语句的占位符没有 "type modifier",它是普通的 %