SQL - REPLICATE() 函数



SQL 的REPLICATE() 函数是一个内置函数,用于将字符串重复指定次数。

它接受两个参数作为strcount 类型,并返回一个重复的字符串。如果 count 小于1,则返回空字符串,如果给定的字符串或 count 为NULL,则此函数返回 NULL 值。我们也可以将此函数与表一起使用以重复任何列的数据。

注意 - SQL 提供了REPLICATE() 函数而不是REPEAT() 函数,这两个函数具有相同的功能。

语法

以下是 SQL REPLICATE() 函数的语法:

REPLICATE(str, count); 

参数

  • str - 我们要重复的字符串。
  • count - 一个 int 值,描述要重复字符串的次数。

返回值

此函数返回重复的值。

示例

在以下示例中,我们使用REPLICATE() 函数将字符串“HelloSQL”重复指定的次数5次。

SELECT REPLICATE('HelloSQL', 5) AS REPEATE_STRING_5_TIMES;

输出

上述语句产生以下输出:

+------------------------------------------+
| REPEATE_STRING_5_TIMES                   |
+------------------------------------------+
| HelloSQLHelloSQLHelloSQLHelloSQLHelloSQL |
+------------------------------------------+

示例

如果 count 小于1,则REPLICATE() 函数返回一个字符串。

在以下示例中,我们使用字符串REPLICATE() 函数将字符串'ABC'重复指定的次数0次。

SELECT REPLICATE('HelloSQL', 0) AS REPEATE_STRING_0_TIMES;

输出

上述 SQL 查询产生以下输出:

+------------------------+
| REPEATE_STRING_0_TIMES |
+------------------------+
|                        |
+------------------------+

示例

如果两个参数strcount 都具有NULL 值,则此方法返回 NULL。

以下是REPLICATE() 函数的另一个示例,其中我们将strcount 两个参数都传递为NULL 值。

SELECT REPLICATE(NULL, NULL) AS REPEATE_STRING_NULL_TIMES;

输出

以下是上述查询的输出:

+------------------------------------------------------+
| REPEATE_STRING_NULL_TIMES                            |
+------------------------------------------------------+
| NULL                                                 |
+------------------------------------------------------+

示例

您还可以将表的列名作为参数传递给REPLICATE() 函数以重复列的内容。假设我们在 SQL 中创建了一个名为Customers的表,使用CREATE 语句如下所示:

CREATE TABLE CUSTOMERS(    
   ID INT NOT NULL,    
   NAME VARCHAR (20) NOT NULL,    
   AGE INT NOT NULL,    
   ADDRESS CHAR (25) ,    
   SALARY DECIMAL (18, 2));

现在,让我们使用INSERT 语句将一些记录插入Customers 表中,如下所示:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', 1500.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00 );

现在,让我们使用REPLICATE() 函数将列AGE 的数据重复指定的次数3次。

以下是使用REPLICATE() 函数与表的语句:

SELECT REPLICATE(AGE, 3) AS REPEATE_AGE_COLUMN_3_TIMES FROM CUSTOMERS;

输出

上述 Select 语句产生以下输出:

+----------------------------+
| REPEATE_AGE_COLUMN_3_TIMES |
+----------------------------+
| 323232                     |
| 252525                     |
| 232323                     |
| 252525                     |
+----------------------------+
sql-string-functions.htm
广告