SUBSTRING
1、语法
SUBSTRING ( expression ,start , length )
2、参数
expression
是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。
start
指定子字符串开始位置的整数。start 可以为 bigint 类型。
length
一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。
3、备注
必须以字符数指定使用 ntext、char 或 varchar 数据类型的偏移量(start 和 length)。必须以字节数指定使用 text、image、binary 或 varbinary 等数据类型的偏移量。
4、例子:
代码如下 | 复制代码 |
select substring('GXS',-1,3) :G select substring('GXS',-1,2) :NULL select substring('GXS',0,1) :NULL select substring('GXS',1,1) :G select substring('GXS',1,2) :GX |
代码示例:
下面的示例返回 Employees 表中每位雇员的名字首字母及完整姓氏:
代码如下 | 复制代码 |
SELECT SUBSTRING(First Name,1,1) AS Initial, Last Name FROM Employees |
下面是结果集:
Initial..........Last Name
-------------------------
A................Funk
M................Pearson
L................Calafato
N................Danner
J................Lee
S................Byham
M................Sutter
R................King
A................Doyle
示例
A. 在字符串上使用 SUBSTRING
下例显示如何只返回字符串的一部分。该查询在一列中返回 authors 表中的姓氏,在另一列中返回 authors 表中的名字首字母。
代码如下 | 复制代码 |
USE pubs SELECT au_lname, SUBSTRING(au_fname, 1, 1) FROM authors ORDER BY au_lname |
下面是结果集:
au_lname
---------------------------------------- -
Bennet A
Blotchet-Halls R
Carson C
DeFrance M
del Castillo I
...
Yokomoto A
(23 row(s) affected)
下例显示如何显示字符串常量 abcdef 中的第二个、第三个和第四个字符。
SELECT x = SUBSTRING('abcdef', 2, 3)
下面是结果集:
x
----------
bcd
(1 row(s) affected)
B. 在 text、ntext 和 image 数据上使用 SUBSTRING
下例显示如何从 pubs 数据库的 publishers 表内的每个 text 和 image 数据列中返回前 200 个字符。text 数据以 varchar 的形式返回,image 数据则以 varbinary 的形式返回。
代码如下 | 复制代码 |
USE pubs SELECT pub_id, SUBSTRING(logo, 1, 10) AS logo, SUBSTRING(pr_info, 1, 10) AS pr_info FROM pub_info WHERE pub_id = '1756' |
下面是结果集:
pub_id logo pr_info
------ ---------------------- ----------
1756 0x474946383961E3002500 This is sa
(1 row(s) affected)
下例显示 SUBSTRING 在 text 和 ntext 数据上的效果。首先,下例在 pubs 数据库内创建一个名为 npr_info 的新表。然后,在 npr_info 表中用 pub_info.pr_info 列的前 80 个字符创建 pr_info 列,并添加ü作为首字符。最后,INNER JOIN 检索所有出版商标识号以及 text 和 ntext 出版商信息列的 SUBSTRING。
代码如下 | 复制代码 |
IF EXISTS (SELECT table_name FROM INFORMATION_SCHEMA.TABLES |
米加小镇世界龙年无广告版 安卓版v1.81
米加小镇世界龙年无广告是一款模拟类手游,不少的玩家可能都玩过
部落冲突互通服 安卓版v17.100.1
部落冲突互通服是全球风靡的战争策略手游,连接安卓和iOS服务
我的世界恶魔模组资源包 (EDU HELL)最新版vDEATH
我的世界恶魔版是一款像素风格的开放世界沙盒游戏,游戏中你可以
艺术大亨天天拍卖变富翁 最新安卓版v1.31.0
艺术大亨天天拍卖变富翁是一款非常好玩的模拟经营类手游,在游戏
大型巴士司机游戏 安卓版v2.1.0
大型巴士司机是一款模拟驾驶类游戏,玩家们将在游戏中化身为大巴