我在 Postgres 中有一个 plpgsql 函数。当关键字不为空并返回匹配结果时它工作正常但是当关键字为空时我想忽略它并返回任意行。
CREATE OR REPLACE FUNCTION get_all_companies(_keyword varchar(255))
RETURNS TABLE(
id INTEGER,
name VARCHAR,
isactive boolean
) AS $$
BEGIN
RETURN Query
SELECT c.id, c.name, c.isactive FROM companydetail AS c
WHERE c.name ~* _keyword LIMIT 50 ;
END;$$
LANGUAGE plpgsql;
最佳答案
验证它是否为 NULL 或为空:
RETURN QUERY
SELECT c.id, c.name, c.isactive
FROM companydetail AS c
WHERE _keyword IS NULL
OR _keyword = ''::varchar(255)
OR c.name ~* _keyword
LIMIT 50 ;
关于node.js - 如果关键字为 null 则获取所有行,否则返回匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49753019/