- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 清空表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL 查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查询
- SQL - 删除查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - 布尔 (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION 与 UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接与右连接
- SQL - Union 与 Join
- SQL 密钥
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 组合键
- SQL - 备用键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 集群索引
- SQL - 非聚集索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - Min & Max
- SQL - Null 函数
- SQL - 检查约束
- SQL - 默认约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - Group By 与 Order By
- SQL - IN 与 EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数字函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
SQL - SUBSTRING() 函数
SQL 的SUBSTRING() 函数用于从字符串中检索子字符串(字符串的一部分)。
它接受三个参数expression、start 和length,并返回 SQL 服务器中字符、二进制、文本或图像表达式的部分内容。
如果 start 参数值为1,则表示表达式的第一个字符,如果 start 值为length-1,则表示最后一个字符。
注意 - start 和 length 参数的值必须以字符数指定,例如 ntext、char 或 varchar 数据类型,以及 text、image、binary 或 varbinary 数据类型使用的字节数。
语法
以下是 SQL SUBSTRING() 函数的语法:
SUBSTRING ( expression ,start , length )
参数
expression - 它是一个字符、二进制、文本、ntext 和图像表达式。
start - 它是一个整数(或 bigint)值,指定返回字符串的起始位置
length - 它是一个正整数,指定返回字符串的长度。
返回值
此函数返回字符的一部分。
示例
在以下示例中,我们使用 SQL 的SUBSTRING() 函数从表达式‘Hello World’ 中检索从起始位置2 开始,指定长度为5 的字符部分。
SELECT SUBSTRING('Hello World', 2, 5) AS NEW_STRING;
输出
上述 SQL 查询产生以下输出:
+------------+ | NEW_STRING | +------------+ | ello | +------------+
示例
如果我们将start 参数值作为负值传递给函数。
以下是SUBSTRING() 函数的另一个示例,如果 start 参数值小于1,则返回的表达式将从表达式中指定的第一个字符开始。在这种情况下,返回的字符数是 start + length- 1 或0 的最大值。
SELECT SUBSTRING('TutorialsPoint', -1, 8) AS NEW_STRING;
输出
以下是上述查询的输出:
+------------+ | NEW_STRING | +------------+ | Tutori | +------------+
示例
如果 start 参数值大于表达式长度。
在以下示例中,我们将 start 参数值作为大于给定表达式的值传递。如果 start 参数值大于 value 表达式中的字符数;否则返回零长度表达式。
SELECT SUBSTRING('Java Programming', 30, 5) AS NEW_STRING;
输出
上述程序生成以下输出:
+------------+ | NEW_STRING | +------------+ | | +------------+
示例
您可以将表列名作为参数传递给SUBSTRING() 函数,以从表的FIRST_NAME 列中检索字符部分。假设我们使用CREATE 语句创建了一个名为Customers 的表,如下所示:
CREATE TABLE CUSTOMERS( ID INT NOT NULL, FIRST_NAME VARCHAR (20), LAST_NAME VARCHAR(20),s AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2));
让我们使用 INSERT 语句将一些记录插入 Customers 表中,如下所示:
INSERT INTO CUSTOMERS VALUES (1, 'Rohan','Verma', 33, 'Hyderbad', 2100.00 ); INSERT INTO CUSTOMERS VALUES (2, 'Kamlesh','Kumar', 30, 'Lucknow', 2500.00 ); INSERT INTO CUSTOMERS VALUES (3, 'Seeta','Sharma', 23, 'Delhi', 3150.00 );
以下 SQL 查询从Customer 表的FIRST_NAME 列的内容中检索字符(子字符串)的一部分:
SELECT ID, FIRST_NAME, SUBSTRING(FIRST_NAME, 2, 5) AS NEW_NAME FROM CUSTOMERS;
输出
以下是上述 SQL 查询的输出:
+----+------------+----------+ | ID | FIRST_NAME | NEW_NAME | +----+------------+----------+ | 1 | Rohan | ohan | | 2 | Kamlesh | amles | | 3 | Seeta | eeta | +----+------------+----------+