MySQL字符串截取、取长度、替换

1、MySQL截取字符串

MySQL截取字符串函数有很多:substring(),substring_index(),left(), right(), mid(), substr()。其中,substring() 的功能非常强大,平时只用这个就够了,substring_index()是用指定的字符在字符串中第n次出现的位置,之前或之后的字符串。

substring()

substring(字符串, 位置); substring(字符串, 位置, 长度)

  • 从字符串的第 5 个字符位置开始取(包括第5个字符),直到结束。
    select substring(‘www.csdn.com’, 5);
    csdn.com

  • 从字符串的第 5个字符位置开始取,只取4个字符。
    select substring(‘www.csdn.com’, 4, 4);
    csdn

  • 从字符串的倒数第3 个字符位置开始取(包括倒数第3个字符),直到结束。
    select substring(‘www.csdn.com’, -3);
    com

  • 从字符串的倒数第 3 个字符位置开始取,只取 2 个字符。
    select substring(‘www.csdn.com’, -3, 2);
    co

substring_index()

substring_index(字符串,指定字符,第n次位置),如果指定字符在字符串中搜索不到,则返回整个字符串

  • 截取第二个 ‘.’ 之前的所有字符。
    select substring_index(‘www.csdn.com’ , ‘.’ , 2);
    www.csdn
  • 截取第2个 ‘.’ (倒数)之后的所有字符。
    select substring_index(‘www.csdn.com’ , ‘.’ , -2);
    csdn.com

2、MySQL取字符串长度

常用的取长度函数有char_length()、length()、bit_length()
char_length() 返回字符个数,一个中文或英文字符返回都是1
length() 字符在当前编码下存储,所占的字节数
bit_length() 字符在当前编码下存储,所占的bit,也就是length*8
比较常用的就是char_length()

  • SELECT char_length(‘你吃了么?’);
    5
  • SELECT char_length(‘eat?’);
    4

3、MySQL替换字符串

replace(字符串,要替换的字符,新字符)

  • SELECT replace(‘你吃了么?’,‘吃’,‘喝’);
  • 你喝了么?

4、MySQL获取字符在字符串中出现的位置

locate(‘字符’,‘字符串’)
返回’字符’在’字符串’中第一次出现的位置

SELECT locate('/','/www/files/upload/exam/cheatStudents/20160725170541.xls') FROM dual ;
1

locate(‘字符’,‘字符串’,起始角标)
返回’字符’在’字符串’中,从 起始角标 之后第一次出现的位置,如果找不到返回0

SELECT locate('/','/www/files/upload/exam/cheatStudents/20160725170541.xls',2) FROM dual ;
5
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值