mysql函数substring、instr和locate的用法详解

详解:
    SUBSTRING(str, pos, length)函数截取特定长度的字符串,其中str为需截取的字符串,pos为截取起始位置,可以为负数,
为负数时表示从末尾第几位开始截取,length为截取长度。
例子:
    mysql> select SUBSTRING('123AB5', 4, 2);
    +---------------------------+
    | SUBSTRING('123AB5', 4, 2) |
    +---------------------------+
    | AB                        |
    +---------------------------+
    1 row in set (0.00 sec)
    
    mysql> select SUBSTRING('123AB5', -2, 2);
    +----------------------------+
    | SUBSTRING('123AB5', -2, 2) |
    +----------------------------+
    | B5                         |
    +----------------------------+
    1 row in set (0.00 sec)

INSTR(str,substr)返回字符串“str”中子字符串的第一个出现位置。
例子:
    mysql> select instr('121A25', '1');
    +----------------------+
    | instr('121A25', '1') |
    +----------------------+
    |                    1 |
    +----------------------+
    1 row in set (0.00 sec)

    LOCATE(substr,str) , LOCATE(substr,str,pos),第一个语法返回字符串 str中子字符串substr的第一个出现位置。
第二个语法返回字符串 str中子字符串substr的第一个出现位置, 起始位置在pos。如若substr 不在str中,则返回值为0。
例子:
    mysql> select LOCATE('A', '12AB');
    +---------------------+
    | LOCATE('A', '12AB') |
    +---------------------+
    |                   3 |
    +---------------------+
    1 row in set (0.00 sec)

    mysql> select LOCATE('A', '12AB3AB', 5);
    +---------------------------+
    | LOCATE('A', '12AB3AB', 5) |
    +---------------------------+
    |                         6 |
    +---------------------------+
    1 row in set (0.00 sec)

    SUBSTRING()函数和INSTR()函数联合使用,例:
    mysql> select SUBSTRING('12AB3a5AB190', INSTR('12AB3a5AB190', 'A'), 2);
    +----------------------------------------------------------+
    | SUBSTRING('12AB3a5AB190', INSTR('12AB3a5AB190', 'A'), 2) |
    +----------------------------------------------------------+
    | AB                                                       |
    +----------------------------------------------------------+
    1 row in set (0.00 sec)

注意:mysql中字符串下标从1开始。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值