PGSQL 写存储函数 判断传来的字符串 如果包含1 就返回未完成,如果不包含1就返回已完成
时间: 2024-02-27 17:53:51 浏览: 63
可以使用PL/pgSQL语言编写一个存储函数来实现你的需求,下面是一个示例函数:
```
CREATE OR REPLACE FUNCTION check_status(str text)
RETURNS text AS $$
BEGIN
IF str LIKE '%1%' THEN
RETURN '未完成';
ELSE
RETURN '已完成';
END IF;
END;
$$ LANGUAGE plpgsql;
```
这个函数接收一个text类型的参数str,然后使用IF语句判断str是否包含1,如果包含就返回“未完成”,否则返回“已完成”。使用LIKE操作符可以实现模糊匹配,%表示匹配任意字符,所以'%1%'表示匹配包含数字1的任意字符串。
相关问题
PGSQL 写存储函数 根据传来的数字 如果是0就返回未归档,其余结果就返回已归档
可以使用以下的 PL/pgSQL 存储函数来实现:
```
CREATE OR REPLACE FUNCTION archive_status(num INT) RETURNS TEXT AS $$
BEGIN
IF num = 0 THEN
RETURN '未归档';
ELSE
RETURN '已归档';
END IF;
END;
$$ LANGUAGE plpgsql;
```
使用时,可以调用该函数并传入数字参数:
```
SELECT archive_status(0); -- 返回 '未归档'
SELECT archive_status(1); -- 返回 '已归档'
SELECT archive_status(2); -- 返回 '已归档'
```
注意,函数名、参数类型和返回类型可以自行根据实际情况进行修改。
pgsql判断字符串中包含某个字符串
在 PostgreSQL 中,你可以使用 `LIKE` 或 `ILIKE` 运算符来判断一个字符串中是否包含特定的子字符串。
如果你希望进行大小写敏感的匹配,可以使用 `LIKE` 运算符。例如,假设你有一个字符串列 `data`,你可以使用以下查询来判断该列中的值是否包含子字符串 'abc':
```sql
SELECT * FROM your_table WHERE data LIKE '%abc%';
```
如果你希望进行大小写不敏感的匹配,可以使用 `ILIKE` 运算符。例如,以下查询将匹配包含子字符串 'abc' 的值,无论其大小写如何:
```sql
SELECT * FROM your_table WHERE data ILIKE '%abc%';
```
请注意,`%` 是通配符,表示任意字符的出现次数(包括零次)。
希望这能帮到你!如果你有其他问题,请随时提问。
阅读全文