函数 pgAdmin 中的 LIKE 运算符
LIKE operator in a function pgAdmin
如何在函数内部使用操作符 LIKE?
我在 WHERE 语句中有一段代码,我尝试了 LIKE 运算符,以便我可以使用此函数在搜索栏中进行连接。
CREATE OR REPLACE FUNCTION public.school_function(
student text DEFAULT NULL,
professor text DEFAULT NULL,)
RETURNS TABLE(
"StudentName" text,
"StudentID" bigint,
"ProfessorName" text,
"Subject" text,
"Course" text,
)
LANGUAGE 'sql'
AS $BODY$
SELECT "StudentName",
"StudentID",
"ProfessorName",
"Subject",
"Course",
FROM seniorHighTable
WHERE ("StudentName" = () OR IS NULL)
AND ("ProfessorName" LIKE () OR IS NULL)
$BODY$;
我的问题是,当我使用我的代码时,没有显示任何结果。有没有办法在其中使用 LIKE 运算符?非常感谢。
评论总结:LIKE语句需要加通配符,使其“模糊”,否则就像等式比较一样。
添加通配符的语法涉及用于字符串连接的双管道 - 如下所示:
WHERE ("StudentName" = () OR IS NULL)
AND ("ProfessorName" LIKE '%' || || '%' OR IS NULL)
如何在函数内部使用操作符 LIKE?
我在 WHERE 语句中有一段代码,我尝试了 LIKE 运算符,以便我可以使用此函数在搜索栏中进行连接。
CREATE OR REPLACE FUNCTION public.school_function(
student text DEFAULT NULL,
professor text DEFAULT NULL,)
RETURNS TABLE(
"StudentName" text,
"StudentID" bigint,
"ProfessorName" text,
"Subject" text,
"Course" text,
)
LANGUAGE 'sql'
AS $BODY$
SELECT "StudentName",
"StudentID",
"ProfessorName",
"Subject",
"Course",
FROM seniorHighTable
WHERE ("StudentName" = () OR IS NULL)
AND ("ProfessorName" LIKE () OR IS NULL)
$BODY$;
我的问题是,当我使用我的代码时,没有显示任何结果。有没有办法在其中使用 LIKE 运算符?非常感谢。
评论总结:LIKE语句需要加通配符,使其“模糊”,否则就像等式比较一样。
添加通配符的语法涉及用于字符串连接的双管道 - 如下所示:
WHERE ("StudentName" = () OR IS NULL)
AND ("ProfessorName" LIKE '%' || || '%' OR IS NULL)