zoukankan      html  css  js  c++  java
  • Mysql截取字符串

    在Mysql中,有时候会用到截取字符串然后相互连接的情形,其中截取字符串用的是SUBSTRING操作,连接用的是CONCAT操作:

    1. 直接截取

    SELECT LEFT('what is your name? please tell me',5);  #从左开始截取字符串,left(str, length),即:left(被截取字符串, 截取长度)
    
    SELECT RIGHT('what is your name? please tell me',9);  #从右开始截取字符串,right(str, length),即:right(被截取字符串, 截取长度)

    2. SUBSTRING截取

    SELECT SUBSTRING('what is your name? please tell me', 3, 7) as str1;  # 从字符串的第3个字符开始,取7个字符
    
    SELECT SUBSTRING('what is your name? please tell me', -8);  # 从字符串的倒数第8个字符开始读取直至结束,末尾是-1,往前依次是-2,-3,...
    
    SELECT SUBSTRING('what is your name? please tell me', -8, 2); #2 表示截取长度为2的子串

    3. 按关键字进行读取,substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,截取关键字的第几个之前的部分)

    # 截取第二个“m”之前的所有字符
    SELECT SUBSTRING_INDEX('what is your name? please tell me', 'm', 2); # 输出:'what is your name? please tell '
    
    # 截取倒数第二个“m”之后的所有字符,其实就是先找出'm'号,然后对'm'进行index,找出该inde之前的所有字符;如果是负号,则反向,也是找该index之前的字符串
    SELECT SUBSTRING_INDEX('what is your name? please tell me', 'm', -2);  # 输出:'e? please tell me'
    
    # 如果关键字不存在,则返回整个字符串
    SELECT SUBSTRING_INDEX('what is your name? please tell me', 'good', 1);

    4. 连接 concat

    select CONCAT('陈情令','','斗罗大陆');

    参考:https://www.cnblogs.com/heyonggang/p/8117754.html

  • 相关阅读:
    mysql安装停在make[3]: Leaving directory `/mysql5.xx/mysqltest' 解决方法
    搞了个burst
    PKU2074
    PKU2029
    ACM/ICPC要求的知识点(转)
    PKU3264线段树解法
    PKU2036
    PKU1151线段树解法
    今天递了辞呈
    hamachi
  • 原文地址:https://www.cnblogs.com/qi-yuan-008/p/12337658.html
Copyright © 2011-2022 走看看