答案:SQL中截取字符串常用SUBSTRING或SUBSTR函数,语法为SUBSTRING(字符串, 起始位置, 长度),起始位置从1开始,长度可选;MySQL、PostgreSQL、SQL Server用SUBSTRING,Oracle和SQLite用SUBSTR;可结合CHARINDEX或INSTR提取特定内容,如邮箱用户名或文件扩展名。

在 SQL 中截取字符串通常使用 SUBSTRING 函数,也叫 SUBSTR(取决于数据库系统)。这个函数可以从一个字符串中提取指定位置和长度的子串。
SUBSTRING 函数基本语法
大多数数据库支持以下格式:
SUBSTRING(字符串, 起始位置, 长度)字符串:要截取的源字符串,可以是字段名或字符串常量起始位置:从第几个字符开始(注意:多数数据库从 1 开始计数)长度:要截取多少个字符(可选,省略时截取到末尾)
不同数据库中的用法示例
MySQL / PostgreSQL / SQL Server (2012+):
— 截取 ‘Hello World’ 的第7个字符开始的5个字符 → ‘World’
SELECT SUBSTRING(‘Hello World’, 7, 5);
— 从第2个字符截取到末尾 → ‘ello World’
SELECT SUBSTRING(‘Hello World’, 2);
Oracle: 使用 SUBSTR
怪兽AI数字人
数字人短视频创作,数字人直播,实时驱动数字人
44 查看详情
— 功能相同,只是函数名不同
SELECT SUBSTR(‘Hello World’, 7, 5) FROM DUAL;
SQLite: 同样支持 SUBSTR 或 SUBSTRING
SELECT SUBSTR(‘Hello World’, 7, 5);
实用技巧
你可以结合其他函数灵活使用:
用 CHARINDEX(SQL Server)或 INSTR(Oracle/MySQL)找分隔符位置,再截取从邮箱中提取用户名:
SELECT SUBSTRING(email, 1, CHARINDEX(‘@’, email) – 1)提取文件扩展名(假设字段为 filename):
SELECT SUBSTRING(filename, LEN(filename) – 3, 4)
基本上就这些,不同数据库略有差异,但核心思路一致。
以上就是SQL 字符串函数如何截取子串?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/586044.html
微信扫一扫
支付宝扫一扫