MYSQL 截取字符串用法

百般思念 提交于 2019-12-02 02:39:37

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是表示截取的位数,是不能为负数,如果为负数,查询结果将为空值。
    4. 以下是当参数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);
        结果为:空值
        ** 准备要截取得字符串   “删除十五天之前得数据共1条,删除成功!!!!”     **
      7. ========================================其它截取字符串得用法
        1. 从左开始截取字符串
                             left(str, length) 
                            说明:left(被截取字段,截取长度) (截取长度从1开始)
                            例:SELECT left(results_OF_Enforcement,4) FROM log_sheet  //执行结果 “删除十五”
                            2. 从右开始截取字符串(和从左往右一个道理)
                            right(str, length) 
                           说明:right(被截取字段,截取长度) 
                           例:select right(content,200) as abstract from my_content_t
             8. SBUSTR 用法  
      1. SBUSTR(要截取得字段,pos); 从pos开始的位置(从1开始包括1),一直截取到最后(包前)。
        例子:SELECT SUBSTR(results_OF_Enforcement,2) FROM log_sheet
        1. 结果是:除十五天之前得数据共1条,删除成功!!!!
          SUBSTR(要截取得字段,pos,len);从pos开始的位置(开始从一开始),截取len个字符(空白也算字符)。(截取得结果包括开始和结尾)(包前也包后)
          1. SELECT SUBSTR(results_OF_Enforcement,1,2) FROM log_sheet
            结果是 :“删除”
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!