MySQL提供了多个函数用于字符串字段提取:
SELECT SUBSTRING(column_name, start_position, length) FROM table_name;
-- 示例:从第3个字符开始提取5个字符
SELECT SUBSTRING('Hello World', 3, 5); -- 返回 'llo W'
-- 提取左侧指定长度字符
SELECT LEFT('MySQL', 2); -- 返回 'My'
-- 提取右侧指定长度字符
SELECT RIGHT('Database', 4); -- 返回 'base'
-- 按分隔符提取部分字符串
SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); -- 返回 'www.mysql'
使用REGEXP_SUBSTR()函数(MySQL 8.0+):
SELECT REGEXP_SUBSTR('Email: test@example.com', '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}');
-- 返回 'test@example.com'