mysql 字符串位置函数
时间: 2023-07-08 15:04:25 浏览: 49
MySQL提供了以下几个字符串位置函数:
1. `INSTR(str,substr)`:返回字符串 `str` 中第一次出现子字符串 `substr` 的位置,如果没有匹配则返回 0。
2. `LOCATE(substr,str)`:与 `INSTR` 函数类似,但是参数顺序不同。
3. `POSITION(substr IN str)`:与 `INSTR` 函数类似,但是参数顺序不同。
4. `FIND_IN_SET(str,strlist)`:查找字符串 `str` 在以逗号分隔的字符串列表 `strlist` 中的位置,如果没有匹配则返回 0。
这些函数的用法示例如下:
```
SELECT INSTR('hello world','o'); -- 返回 5
SELECT LOCATE('o','hello world'); -- 返回 5
SELECT POSITION('o' IN 'hello world'); -- 返回 5
SELECT FIND_IN_SET('b','a,b,c,d'); -- 返回 2
```
需要注意的是,这些函数都是区分大小写的。如果要进行不区分大小写的匹配,可以使用 `LOWER` 或 `UPPER` 函数将字符串转换为小写或大写。例如:
```
SELECT INSTR(LOWER('Hello World'),LOWER('WORLD')); -- 返回 7
```
相关问题
MYSQL字符串拼接函数
MySQL字符串拼接函数有以下三个:CONCAT、CONCAT_WS和GROUP_CONCAT。
其中,CONCAT函数用于对多个字符串进行拼接,语法为CONCAT(str1,str2,...),可以拼接两个或多个字符串,返回值为拼接后的结果。
GROUP_CONCAT函数用于将多行数据按照指定的顺序和分隔符进行拼接,语法为GROUP_CONCAT(expr ORDER BY col SEPARATOR str),其中expr为需要拼接的列名,ORDER BY col为排序的列名,SEPARATOR str为分隔符。
而CONCAT_WS函数则是在CONCAT函数的基础上增加了分隔符的功能,语法为CONCAT_WS(separator,str1,str2,...),可以将多个字符串使用指定的分隔符隔开进行拼接,返回值为拼接后的结果。
以下是一个MYSQL字符串拼接函数的例子:
```sql
SELECT CONCAT_WS('-','this','is','a','demo') AS 'result' FROM DUAL;
```
输出结果为:
```
result
this-is-a-demo
```
mysql字符串长度函数
MySQL中的字符串长度函数是`LENGTH()`,它可以用来计算一个字符串中的字符数。下面是一个例子:
```mysql
SELECT LENGTH('Hello World'); -- 输出:11
```
这个例子中,`LENGTH()`函数计算了字符串'Hello World'中的字符数,并将结果11返回。
另外,MySQL中还有一个类似的函数叫做`CHAR_LENGTH()`,它也可以用来计算字符串中的字符数。不同的是,`LENGTH()`函数计算的是字符串的字节数,而`CHAR_LENGTH()`函数计算的是字符串的字符数。如果字符串中包含多字节字符(如中文),那么`CHAR_LENGTH()`函数计算的结果会比`LENGTH()`函数大。
下面是一个使用`CHAR_LENGTH()`函数的例子:
```mysql
SELECT CHAR_LENGTH('你好,世界!'); -- 输出:7
```