mysql的查询中怎么截取字符串?

2025-03-22 18:07:23
推荐回答(1个)
回答1:

要视情况而定,不同的要求有不同的截取办法。

可分为从左往右截取,从右往左截取,从第几位截取,关键字截取。步骤如下。

具体步骤如下:

  1. 从左开始截取字符串
    left(str, length)
    说明:left(被截取字段,截取长度)
    例:select left(content,200) as abstract from my_content_t

  2. 从右开始截取字符串
    right(str, length)
    说明:right(被截取字段,截取长度)
    例:select right(content,200) as abstract from my_content_t

  3. 截取字符串
    substring(str, pos)
    substring(str, pos, length)
    说明:substring(被截取字段,从第几位开始截取)
    substring(被截取字段,从第几位开始截取,截取长度)
    例:select substring(content,5) as abstract from my_content_t
    select substring(content,5,200) as abstract from my_content_t
    (注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度)

  4. 按关键字截取字符串
    substring_index(str,delim,count)
    说明:substring_index(被截取字段,关键字,关键字出现的次数)
    例:select substring_index(”blog.chinabyte.com”,”。”,2) as abstract from my_content_t
    结果:blog.chinabyte
    (注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束)
    结果:chinabyte.com
    截取的字符串为15,151,152,16’,可以看作是ip吧(虽然这里指的不是iP),
    然后要截取每个逗号之前那部分。