Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Повторяет значение строки указанное число раз.
Соглашения о синтаксисе Transact-SQL
Синтаксис
REPLICATE ( string_expression , integer_expression )
Аргументы
string_expression
Выражение символьной строки или типа данных binary.
Примечание.
Если string_expression имеет тип binary, REPLICATE выполняет неявное преобразование в тип varchar и, следовательно, двоичные входные данные не сохраняются.
Примечание.
Если входные данные string_expression не имеют типа varchar(max) или nvarchar(max),РЕПЛИЦирует возвращаемое значение в 8 000 байт. Для возврата значений, превышающих 8000 байт, аргумент string_expression должен быть явно приведен к соответствующему типу данных с большими значениями.
integer_expression
Выражение любого целочисленного типа, включая тип bigint. Если аргумент integer_expression отрицателен, то возвращается значение NULL.
Типы возвращаемых данных
Возвращает тот же тип, что и аргумент string_expression.
Примеры
А. Использование функции REPLICATE
Следующий пример реплицирует символ 0 четыре раза перед кодом производственной линии в базе данных AdventureWorks2025.
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
Вот результирующий набор.
Name Line Code
-------------------------------------------------- ---------
HL Touring Frame - Blue, 46 0000T
HL Touring Frame - Blue, 50 0000T
HL Touring Frame - Blue, 54 0000T
HL Touring Frame - Blue, 60 0000T
HL Touring Frame - Yellow, 46 0000T
HL Touring Frame - Yellow, 50 0000T
...
B. Использование функций REPLICATE и DATALENGTH
В следующем примере числа дополняются слева до указанной длины, как будто они были преобразованы из числового типа данных в символьный или Юникод.
IF EXISTS(SELECT name FROM sys.tables
WHERE name = 't1')
DROP TABLE t1;
GO
CREATE TABLE t1
(
c1 varchar(3),
c2 char(3)
);
GO
INSERT INTO t1 VALUES ('2', '2'), ('37', '37'),('597', '597');
GO
SELECT REPLICATE('0', 3 - DATALENGTH(c1)) + c1 AS 'Varchar Column',
REPLICATE('0', 3 - DATALENGTH(c2)) + c2 AS 'Char Column'
FROM t1;
GO
Вот результирующий набор.
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В. Использование функции REPLICATE
В приведенном ниже примере производится четырехкратная репликация символа 0 в начале значения ItemCode.
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
Ниже представлены первые строки в результирующем наборе.
Name ItemCode FullItemCode
------------------------ -------------- ---------------
Adjustable Race AR-5381 0000AR-5381
All-Purpose Bike Stand ST-1401 0000ST-1401
AWC Logo Cap CA-1098 0000CA-1098
AWC Logo Cap CA-1098 0000CA-1098
AWC Logo Cap CA-1098 0000CA-1098
BB Ball Bearing BE-2349 0000BE-2349
См. также
КОСМОС (Transact-SQL)
Типы данных (Transact-SQL)
Строковые функции (Transact-SQL)