pgsql用case when判断数据是否存在连续相同符号
时间: 2023-12-17 13:05:04 浏览: 30
可以使用CASE WHEN语句来判断数据是否存在连续相同符号。具体实现方法如下:
假设要判断字段col中的数据是否存在连续相同符号:
```sql
SELECT CASE WHEN col ~ '(\D)\1+' THEN '存在' ELSE '不存在' END
FROM table_name;
```
其中,\D表示非数字字符,\1表示匹配前面的第一个括号内的内容,+表示匹配前面的字符一个或多个。
如果返回结果为“存在”,则表示存在连续相同符号;如果返回结果为“不存在”,则表示不存在连续相同符号。
相关问题
pgsql用case when判断字段col中的数据是否存在连续相同符号,除了空格
可以使用CASE WHEN语句和正则表达式来判断字段col中的数据是否存在除空格外的连续相同符号。具体实现方法如下:
```sql
SELECT CASE WHEN col ~ '([^[:space:]])\1+' THEN '存在' ELSE '不存在' END
FROM table_name;
```
其中,[^[:space:]]表示除空格外的任意非空白字符,\1表示匹配前面的第一个括号内的内容,+表示匹配前面的字符一个或多个。
如果返回结果为“存在”,则表示存在除空格外的连续相同符号;如果返回结果为“不存在”,则表示不存在除空格外的连续相同符号。
pgsql用case when判断字段col中的数据是否存在连续相同的标点符号
你可以使用正则表达式来判断字段col中是否存在连续相同的标点符号,如下所示:
```sql
SELECT
CASE
WHEN col ~ '(\p{P})\1+' THEN '存在连续相同的标点符号'
ELSE '不存在连续相同的标点符号'
END AS result
FROM table_name;
```
其中,`\p{P}`表示任何标点符号,`\1+`表示一个或多个与第一个括号匹配的字符。如果字段col中存在连续相同的标点符号,则返回“存在连续相同的标点符号”,否则返回“不存在连续相同的标点符号”。