You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL SUBSTRING函数:如何选取长度不固定的字符串

MySQL 筛选以"i"开头、"g"结尾的字符串

不用纠结SUBSTRING,这种场景用通配符或者正则表达式更直接,两种常用方法给你:

方法1:LIKE 通配符(推荐,性能更优)

LIKE是MySQL做简单模糊匹配的首选,用%作为任意长度字符的通配符即可,直接写:

SELECT 目标列名
FROM 你的数据表
WHERE 目标列名 LIKE 'i%g';
  • i:严格匹配字符串开头的字符
  • %:匹配中间任意长度(包括0个)的任意字符
  • g:严格匹配字符串结尾的字符

如果需要区分大小写(默认不区分),可以加BINARY关键字:

SELECT 目标列名
FROM 你的数据表
WHERE BINARY 目标列名 LIKE 'i%g';

方法2:REGEXP 正则表达式(适合复杂匹配场景)

如果以后有更复杂的匹配规则,正则表达式会更灵活,这里匹配开头结尾的写法是:

SELECT 目标列名
FROM 你的数据表
WHERE 目标列名 REGEXP '^i.*g$';
  • ^:标记字符串的起始位置
  • .*:匹配任意字符(.)任意次数(*)
  • $:标记字符串的结束位置

同样要区分大小写的话,加上BINARY:

SELECT 目标列名
FROM 你的数据表
WHERE 目标列名 REGEXP BINARY '^i.*g$';

SUBSTRING主要用来截取固定位置或长度的字符,不适合这种模糊匹配开头结尾的需求,直接用上面两种方法就搞定了。

内容的提问来源于stack exchange,提问作者LarryA8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 12:15:47