博客
关于我
MySQL之字符串函数
阅读量:796 次
发布时间:2023-02-11

本文共 2707 字,大约阅读时间需要 9 分钟。

MySQL 字符串函数参考手册

1. 字符长度函数

length(str)char_length(str) 是用于计算字符串长度的函数。

  • length(str):默认一个汉字的长度为2。
  • char_length(str):精确计算一个汉字的长度。

示例:

mysql> select length('刘顺祥');| 6 |mysql> select char_length('刘顺祥');| 3 |

2. 字符连接函数

concatconcat_ws 用于将多个字符串连接起来。

  • concat(str1, str2, ...): 任意一个元素为 NULL,返回值为 NULL。
  • concat_ws(separator, str1, str2, ...): 指定某个字符为分隔符。

示例:

mysql> select concat('My', 'SQL');| MySQL |mysql> select concat_ws(' ', 'My', 'SQL');| My SQL |

3. 返回子字符位置函数

locate, positioninstr 用于查找子字符串的位置。

  • locate(substr, str, pos): 从 pos 开始查找 substr 在 str 中首次出现的位置。
  • position(substr in str): 返回 substr 在 str 中首次出现的位置。
  • instr(str, substr): 返回 str 中 substr 的起始位置。

示例:

mysql> select locate('@', '123456@789');| 7 |mysql> select position('@' in '123456@789');| 7 |

4. 字符填补函数

lpadrpad 用于在字符串两端填补字符。

  • lpad(str, len, padstr): 在 str 左边填补 padstr,总长度为 len。
  • rpad(str, len, padstr): 在 str 右边填补 padstr,总长度为 len。

示例:

mysql> select lpad('My', 5, 'SQL');| SQLMy |mysql> select rpad('My', 5, 'SQL');| MySQL |

5. 截取字符串函数

left, right, substring, mid, 和 substring_index 用于截取字符串。

  • left(str, len): 截取 str 的前 len 个字符。
  • right(str, len): 截取 str 的后 len 个字符。
  • substring(str, startpos, len): 从 startpos 开始截取 len 个字符。
  • mid(str, startpos, len): 从 startpos 开始截取 len 个字符。
  • substring_index(str, delimiter, count): 返回第 count 个出现 delimiter 的子串。

示例:

mysql> select left('liushunxiang', 3);| liu |mysql> select right('liushunxiang', length('liushunxiang') - 3);| shunxiang |

6. 排除空格及特定字符

rtrim, ltrim, 和 trim 用于去除字符串的前后空格或指定字符。

  • rtrim(str): 去除 str 的末尾空格。
  • ltrim(str): 去除 str 的开头空格。
  • trim(str): 去除 str 的前后空格,默认排除首尾 remstr。

示例:

mysql> select trim(' name ');| name |

7. 产生空格

space(n) 用于生成 n 个空格。

示例:

mysql> select concat(space(20), 'name');| name |

8. 替换函数

replaceinsert 用于替换字符串。

  • replace(str, from_str, to_str): 用 to_str 替换 from_str。
  • insert(str, pos, len, newstr): 从 pos 开始的 len 个字符被 newstr 替换。

示例:

mysql> select replace('123456@qq.com', 'qq', '163');| 123456@163.com |

9. 重复函数

repeat(str, count) 用于重复字符串。

示例:

mysql> select repeat(' ', 20);|  |

10. 翻转函数

reverse(str) 用于翻转字符串。

示例:

mysql> select reverse('mysql');| lqsym |

11. 类似 R 中 switch 函数的 elt 函数

elt(n, str1, str2, ...): 类似于 R 中的 switch 函数,n 为索引,若 n 不在范围内则返回 NULL。

示例:

mysql> select elt(1, 'liu', 'shun', 'xiang');| liu |

12. 字段函数

field(str, str1, str2, ...) 用于返回 str 在字段列表中的索引。

示例:

mysql> select field('liu', 'liu', 'shun', 'xiang');| 1 |

13. 大小写转换

upper, ucase, lower, 和 lcase 用于转换字符串大小写。

  • upper(str): 转换为大写。
  • ucase(str): 转换为大写,默认不改变大小写。
  • lower(str): 转换为小写。
  • lcase(str): 转换为小写,默认不改变大小写。

示例:

mysql> select upper('liushunxiang');| LIUSHUNXIANG |

14. 文件内容读取函数

load_file(file_path) 用于读取文件内容并返回字符串。

示例:

mysql> select load_file('path/to/file.txt');

本文为 MySQL 字符串函数的详细参考手册,涵盖了 length、concat、locate、lpad 等多个常用函数及其示例应用。

转载地址:http://txbfk.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查看>>
Mysql学习总结(9)——MySql视图原理讲解与使用大全
查看>>
MySQL学习笔记十七:复制特性
查看>>
Mysql学习第一课-mysql的定义及sql语句
查看>>
mysql安全模式: sql_safe_updates
查看>>
mysql安装,卸载,连接
查看>>
MySQL安装之没有配置向导
查看>>
mysql安装出现 conflicts with mysql*的解决办法
查看>>