在本教程中,将学习如何使用SQL Server REPLICATE()
函数复制指定次数的字符串。
SQL Server REPLICATE()函数简介
REPLICATE()
函数按指定的次数重复字符串。它的语法很简单,如下所示:
REPLICATE(input_string, count);
在这个语法中:
input_string
是一个表达式,其值为字符或二进制类型的值。count
是重复input_string
的次数。
SQL Server REPLICATE()函数示例
下面来看一些使用REPLICATE()
函数的例子。
1. 使用REPLICATE()函数重复文字字符串
此示例使用REPLICATE()
函数重复字符z
三次:
SELECT
REPLICATE('z',3) result;
执行上面查询语句,得到以下结果:
result
------
zzz
(1 row affected)
2. 使用REPLICATE()函数创建具有前导零数据的列
首先,在production
模式中创建一个名为spare_parts
的新表:
CREATE TABLE production.spare_parts (
part_id INT IDENTITY PRIMARY KEY,
part_no VARCHAR(10) NOT NULL UNIQUE,
description VARCHAR(50) NOT NULL
);
假设part_no
必须总是有10
个字符。 如果备件少于10
个字符,则应用程序需要填充前导零,以使长度始终为10
个字符。
其次,在production.spare_parts
表中插入一些值:
INSERT INTO
production.spare_parts(part_no, description)
VALUES
('FRMTUBE','Frame Tube'),
('CHNCO','Chain Cover'),
('CRKS','Cranks');
第三,从production.spare_parts
表中选择数据,使用REPLICATE()
函数左侧填充零:
SELECT
part_id,
CONCAT(
REPLICATE('0', 10 - LEN(part_no)),
part_no
) part_no,
description
FROM
production.spare_parts;
执行上面查询语句,得到以下结果:
在这个例子中:
首先,使用LEN()
函数计算要填充零的数量:
10 - LEN(part_no)
其次,使用REPLICATE()
函数复制要填充所需要的零:
REPLICATE('0', 10 - LEN(part_no)
第三,使用CONCAT()函数将零填充到part_no
:
CONCAT(
REPLICATE('0', 10 - LEN(part_no)),
part_no
) part_no
在本教程中,学习了如何使用SQL Server REPLICATE()
函数复制指定次数的字符串。