pgsql用case when判断数据是否存在连续相同符号
时间: 2023-12-17 15:05:04 浏览: 117
可以使用CASE WHEN语句来判断数据是否存在连续相同符号。具体实现方法如下:
假设要判断字段col中的数据是否存在连续相同符号:
```sql
SELECT CASE WHEN col ~ '(\D)\1+' THEN '存在' ELSE '不存在' END
FROM table_name;
```
其中,\D表示非数字字符,\1表示匹配前面的第一个括号内的内容,+表示匹配前面的字符一个或多个。
如果返回结果为“存在”,则表示存在连续相同符号;如果返回结果为“不存在”,则表示不存在连续相同符号。
相关问题
pgsql用case when判断字段col中的数据是否存在连续相同的标点符号
可以使用正则表达式来判断字段col中是否存在连续相同的标点符号,例如:
```sql
SELECT col,
CASE WHEN col ~ '[[:punct:]]{2,}' THEN '存在' ELSE '不存在' END AS result
FROM table;
```
其中,`[[:punct:]]`表示匹配任何标点符号,`{2,}`表示匹配2个或以上的连续标点符号。如果字段col中存在连续相同的标点符号,则返回结果为“存在”,否则返回结果为“不存在”。
pgsql用case when判断字段col中的数据是否存在连续相同的标点符号,除了空格
可以使用正则表达式来判断字段col中是否存在连续相同的标点符号,除了空格。具体的语句如下:
```
SELECT col FROM table_name WHERE col ~ '[^\s][[:punct:]]{2,}[^\s]';
```
其中,正则表达式`[^\s][[:punct:]]{2,}[^\s]`表示匹配一个非空格字符,后面是至少两个相同的标点符号,最后是一个非空格字符。如果查询结果不为空,则说明字段col中存在连续相同的标点符号,除了空格。
如果要判断是否存在任意连续相同的标点符号,包括空格,可以使用以下正则表达式:
```
SELECT col FROM table_name WHERE col ~ '[[:punct:]]{2,}';
```
其中,正则表达式`[[:punct:]]{2,}`表示匹配至少两个连续的标点符号,包括空格。如果查询结果不为空,则说明字段col中存在任意连续相同的标点符号。
阅读全文