Pgsql case when字符串比较
时间: 2024-11-16 20:14:06 浏览: 12
字符串处理示例_pgsql_
在PostgreSQL中,`CASE WHEN` 语句用于条件判断,可以用来处理数据的条件转换。当涉及到字符串比较时,你可以使用 `LIKE`, `ILIKE` (大小写不敏感) 或 `=` 运算符。
例如,如果你想检查某个字段 `column_name` 的值是否等于 'value1',并且如果等于则返回另一个值,否则返回第三个值,可以这样做:
```sql
SELECT
CASE
WHEN column_name = 'value1' THEN 'matched'
ELSE 'not matched'
END AS comparison_result
FROM table_name;
```
如果需要进行大小写不敏感的字符串比较,使用 `ILIKE`:
```sql
SELECT
CASE
WHEN column_name ILIKE 'value1' THEN 'matched'
ELSE 'not matched'
END AS comparison_result
FROM table_name;
```
如果你想要基于字符串长度或者部分匹配做判断,可以结合其他函数,比如 `LENGTH()` 或者 `SUBSTRING()`:
```sql
SELECT
CASE
WHEN LENGTH(column_name) > 5 THEN 'long_string'
WHEN SUBSTRING(column_name, 1, 3) = 'abc' THEN 'starts_with_abc'
ELSE 'other'
END AS comparison_result
FROM table_name;
```
阅读全文