使用 like 或 ilike 创建 SQL/ PLpgSQL 函数
Using like or ilike to create SQL/ PLpgSQL function
我正在尝试创建函数 Animals(为方便起见),它采用动物名称的首字母和 returns 列表中动物的全名,例如C=> Cow, Cat... 我面临的问题是 like 函数之后的字符串被当作字符串处理(我希望它被输入)。
以下无效。
create function
Animalfun(input text) returns text
as $$
SELECT name
FROM Animals
WHERE name like 'input%';
$$ language sql;
select name from Animals where name = Animalfun('A');
据推测,您想要:
SELECT name FROM Animals WHERE name like input || '%'
我正在尝试创建函数 Animals(为方便起见),它采用动物名称的首字母和 returns 列表中动物的全名,例如C=> Cow, Cat... 我面临的问题是 like 函数之后的字符串被当作字符串处理(我希望它被输入)。 以下无效。
create function
Animalfun(input text) returns text
as $$
SELECT name
FROM Animals
WHERE name like 'input%';
$$ language sql;
select name from Animals where name = Animalfun('A');
据推测,您想要:
SELECT name FROM Animals WHERE name like input || '%'