码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mysql - 字符串截取、拆分


    前言

    在开发过程中,字符串的截取虽然可以在程序代码中来做,但是如果可以在 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 位置开始)

    举例:

    1. 从位置 2 开始,提取 3 个字符
    SELECT SUBSTRING('模型资料-6' FROM 2 FOR 3)	// 型资料
    
    • 1
    1. 从末尾开始,提取 5 个字符
    SELECT SUBSTRING('模型资料-6',-5,5)	// 型资料-6
    
    • 1
    1. 从位置 6 开始,提取之后的所有字符
    SELECT SUBSTRING('模型资料-6',6)	// 6
    
    • 1

    SUBSTR(...)

    用法等同于 SUBSTRING(...),语法也相同

    MID(str,pos,len)

    只有这一种语法,用法等同于 SUBSTRING(...)

    二、拆分字符串:SUBSTRING_INDEX(str, delim, count)

    参数名解释
    str需要拆分的字符串
    delim分隔符,通过某字符进行拆分
    count当 count 为正数,取第 n 个分隔符之前的所有字符;当 count 为负数,取倒数第 n 个分隔符之后的所有字符

    举例:

    1. 取分隔符之后的字符
    SELECT SUBSTRING_INDEX('模型资料-6','-',-1)	// 6
    
    • 1
    1. 取分隔符之前的字符
    SELECT SUBSTRING_INDEX('模型资料-6','-',1)	// 模型资料
    
    • 1

    三、替换函数:REPLACE(str,from_str,to_str)

    参数名解释
    str需要进行替换的字符串
    from_str需要被替换的字符串
    to_str需要替换的字符串

    举例:

    1. 将 模型资料- 替换为 模型
    SELECT REPLACE('模型资料-6','模型资料-','模型')	// 模型6
    
    • 1

  • 相关阅读:
    JS-树:二叉树中序遍历
    [USACO3.4] 美国血统 American Heritage
    FPGA纯vhdl实现XGMII接口10G万兆网UDP协议DMA传输 配合10G Ethernet PCS/PMA使用 提供工程源码和技术支持
    「太阁干货」详细解析MPLS转发原理
    京东云开发者| Redis数据结构(二)-List、Hash、Set及Sorted Set的结构实现
    linux内核I2C子系统详解——看这一篇就够了
    设置环境变量不用重启的办法
    国庆作业 day 2
    ELK体系部署文档(elk+filebeat+redis)
    一文了解企业云盘和大文件传输哪个更适合企业传输
  • 原文地址:https://blog.csdn.net/qiaohao0206/article/details/126972272
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号