SQL REPLICATE 函数

SQL Server 的 REPLICATE 是一个字符串函数,用于将现有字符串重复指定的次数。此 replicate 函数接受字符字符串或二进制数据,并返回与指定表达式相同的类型。

REPLICATE 函数的语法如下所示。

SELECT REPLICATE (String_Expression, int_Expression)
FROM [Source]
  • String_Expression:请指定有效的字符串。Replicate 函数将重复此 String_Expression 中的字符串。它可以是字符字符串或二进制数据。
  • int_Expression:您想重复 String_Expression 的字符数是多少?

SQL Server REPLICATE 函数示例

REPLICATE 函数将原始字符串重复指定的次数。以下查询将展示使用 Replicate 函数的多种方法。

DECLARE @String VARCHAR(50)
SET @String = 'Learn SQL Server'

SELECT REPLICATE (@String, 3) AS 'SQLServer Replicate' 

SELECT REPLICATE ((@String + ', '), 3) AS 'SQLServer Replicate' 

--Replicating String Directly
SELECT REPLICATE ('Learn T-SQL Server ', 4) AS 'Replicate Result'
REPLICATE Function 1

在这里,我们使用 REPLICATE 函数将 @String 数据重复三次。

SELECT REPLICATE (@String, 3) AS 'SQLServer Replicate'

接下来,我们使用 算术运算符SQL Server 中重复的项目之间添加额外的空格。

SELECT REPLICATE ((@String + ', '), 3) AS 'SQLServer Replicate'

下一行,我们在 REPLICATE 函数中直接使用了字符串数据,下面的语句会将“Learn T-SQL Server”重复 4 次

SELECT REPLICATE ('Learn T-SQL Server ', 4) AS 'Replicate Result'

REPLICATE 函数示例 2

在此 字符串函数 示例中,我们使用 Replicate 函数为产品分配序列号。为此,我们将使用下面显示的数据

Source Table 2

代码

SELECT [EnglishProductName]
      ,[Color]
      ,LEFT([EnglishProductName], 2) +
	    REPLICATE('0', 3)  +
	    RIGHT([EnglishProductName], 2) AS 'Product Serial'
      ,[StandardCost]
      ,[ListPrice]
      ,[DealerPrice]
      ,[SalesAmount]
      ,[TaxAmt]
FROM [Product Sales]
REPLICATE Function 3

在下面的语句中,我们使用 LEFT 函数 从 [EnglishProductName] 列数据中返回最左边的两个字符。

LEFT([EnglishProductName], 2)

下面的语句会将 0 重复 3 次。

REPLICATE('0', 3)

在下面的语句中,我们使用 RIGHT 函数 从 [EnglishProductName] 列数据中返回最右边的两个字符。

RIGHT([EnglishProductName], 2)

最后,我们使用 算术运算符 来连接上面三个语句的结果。这意味着 English Product Name 的前两个字符 + 三个零 + Product Name 的最后两个字符。