mysql中的substring()截取字符函数

substring(参数1,参数2,参数3),其中三个参数分别表示:参数1表示需要截取的字符串,参数2表示从字符串的那个位置开始截取(字符串下标从1开始),参数3表示要截取多少位,如果不写,表示截取从参数2指定的位置开始剩下的全部字符。
例如:

  1. select substring("jason",1,2);
    结果为:ja
  2. select substring("jason",1);
    结果为:jason
  3. select substring("jason",2);
    结果为:ason
    以上都是参数为正数的情况。那么当参数2为负数的情况呢?注意参数3是表示截取的位数,是不能为负数,如果为负数,查询结果将为空值。

以下是当参数2为负数的情况

  1. select substring("jason",-1);
    结果为:n
    截取思想:从字符串末尾开始向前截取。
  2. select substring("jason",-3);
    结果为:son
  3. select substring("jason",-3,1);
    结果为:s
    截取思想为:如果有参数3指定需要截取的位数,则是从左往右开始截取也就是从首到尾,而不是从尾到首开始。
  4. select substring("jason",-3,2);
    结果为:so
  5. select substring("jason",-3,-1);
    结果为:空值
  6. select substring("jason",-3,0);
    结果为:空值
原文地址:https://www.cnblogs.com/jasonboren/p/11096187.html