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
廣告