MySQL 截取字符串

MySQL 截取字符串

MySQL 截取字符串常用的函数有:left(),right(),substring(),substring_index(),locate()
1.LEFT(str,length)
截取字符串 str 左侧 length 长度的字符串
例:
SELECT LEFT("data_service",4) AS example
结果:
data
2.RIGHT(str,length)
截取字符串str 右侧 length 长度的字符串
例:
SELECT RIGHT("data_service",7) AS example
结果:
service
3.SUBSTRING()
substr() 和substring() 有相同的功能

  • 3.1 SUBSTRING(str FROM pos FOR len)
    从str的pos 位置开始截取len长度的字符串,与之相似的是SUBSTRING(str,pos,len)
    例:
    SELECT SUBSTRING("data_service" FROM 1 FOR 4);
    结果:
    data
  • 3.2 SUBSTRING(str FROM pos)
    截取str中pos位置到结尾的字符串,与之相似的是SUBSTRING(str,pos)
    例:
    SELECT SUBSTR("data_service" FROM 6);
    结果:
    service
    注:pos的值可以为负值,表示从字符串结尾,向前计数;但len不能为负值

4.SUBSTRING_INDEX(str,delim,count)
根绝字符串的分割标志对字符串进行截取
delim: delimiter 分隔符,定界符
count: 为正值时,从字符串开头,顺序计数,按照分隔符向前截取字符串;为负值时,从字符串结尾,向前计数,按照分隔符向后截取字符串。

  • 4.1例:
    SELECT SUBSTRING_INDEX("data_service_wyf","_",1)
    结果:
    data
  • 4.2例:
    SELECT SUBSTRING_INDEX("data_service_wyf","_",2)
    结果:
    data_service
  • 4.3例:
    SELECT SUBSTRING_INDEX("data_service_wyf","_",-2)
    结果:
    service_wyf

注:如果字符串中找不到分隔符delim时,会返回整个字符串
5.LOCATE(substr,str,pos)
从str字符串的pos位置开始查找字符串substr在str中第一个出现的位置;其中pos可以省略,当省略时,默认值为0.

  • 5.1 例:
    SELECT LOCATE("e","data_service_wyf")
    结果:
    7
  • 5.2 例:
    SELECT LOCATE("e","data_service_wyf",8)
    结果:
    12

问题

  1. substring()和substr()有什么区别呢?如果没有区别,为什么会有两个相同的函数呢?希望有人能够解答,谢谢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值