前言 在开发过程中,字符串的截取虽然可以在程序代码中来做,但是如果可以在 sql 语句中处理,又不会造成 SQL 语句变的很复杂,那自然就可以在 SQL 语句中处理,速度还会更快一点。这个就需要根据具体的业务进行衡量了 概述 一、截取字符串
在开发过程中,字符串的截取虽然可以在程序代码中来做,但是如果可以在 sql
语句中处理,又不会造成 SQL
语句变的很复杂,那自然就可以在 SQL
语句中处理,速度还会更快一点。这个就需要根据具体的业务进行衡量了
SUBSTRING(...)
、SUBSTR(...)
、MID(str,pos,len)
SUBSTRING(...)
语法:
SUBSTRING(str FROM pos FOR len)
、SUBSTRING(str FROM pos)
、SUBSTRING(str, pos)
、SUBSTRING(str, pos, len)
参数名 | 解释 |
---|---|
str | 需要截取的字符串 |
pos | 起始位置。 可以是正数也可以是负数。如果是正数,此函数从字符串的开头提取。 如果是负数,此函数从字符串的末尾提取 |
len | 要提取的字符数。 如果省略,将返回整个字符串(从 pos 位置开始) |
举例:
2
开始,提取 3
个字符SELECT SUBSTRING('模型资料-6' FROM 2 FOR 3)// 型资料
5
个字符SELECT SUBSTRING('模型资料-6',-5,5)// 型资料-6
6
开始,提取之后的所有字符SELECT SUBSTRING('模型资料-6',6)// 6
SUBSTR(...)
用法等同于 SUBSTRING(...)
,语法也相同
MID(str,pos,len)
只有这一种语法,用法等同于 SUBSTRING(...)
SUBSTRING_INDEX(str, delim, count)
参数名 | 解释 |
---|---|
str | 需要拆分的字符串 |
delim | 分隔符,通过某字符进行拆分 |
count | 当 count 为正数,取第 n 个分隔符之前的所有字符;当 count 为负数,取倒数第 n 个分隔符之后的所有字符 |
举例:
SELECT SUBSTRING_INDEX('模型资料-6','-',-1)// 6
SELECT SUBSTRING_INDEX('模型资料-6','-',1)// 模型资料
REPLACE(str,from_str,to_str)
参数名 | 解释 |
---|---|
str | 需要进行替换的字符串 |
from_str | 需要被替换的字符串 |
to_str | 需要替换的字符串 |
举例:
模型资料-
替换为 模型
SELECT REPLACE('模型资料-6','模型资料-','模型')// 模型6
来源地址:https://blog.csdn.net/qiaohao0206/article/details/126972272
--结束END--
本文标题: Mysql - 字符串截取、拆分
本文链接: https://www.lsjlt.com/news/375141.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0