SQL POSITION

在SQL中,POSITION函数用于返回一个字符串在另一个字符串中的位置。该函数会返回子字符串在父字符串中的起始位置,如果子字符串不存在,则返回0。
语法
POSITION(substr IN str)
- substr:要搜索的子字符串。
- str:要在其中搜索子字符串的字符串。
示例
假设有一个表employees,包含以下数据:
| id | name |
|---|---|
| 1 | Alice Johnson |
| 2 | Bob Smith |
| 3 | Clara Brown |
我们想要找出name列中包含子字符串”son”的行。可以使用以下SQL查询:
SELECT * FROM employees WHERE POSITION('son' IN name) > 0;
运行以上查询后,将返回包含子字符串”son”的行:
| id | name |
|---|---|
| 1 | Alice Johnson |
| 2 | Bob Smith |
在这个示例中,子字符串”son”在”Johnson”和”Smith”中出现,因此这两行被检索出来。
注意事项
- 如果要查找一个子字符串在另一个字符串中的第二个或更多次出现的位置,可以结合使用
SUBSTRING函数和POSITION函数。 - 请注意POSITION函数区分大小写,如果要匹配不区分大小写的子字符串,可以使用
LOWER或UPPER函数将内容转换为统一大小写后再进行匹配。
以上就是关于SQL中POSITION函数的详细解释和示例。
极客笔记