Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Возвращает количество символов указанного строкового выражения, исключая конечные пробелы.
Примечание.
Получить число байтов, используемых для представления выражения, можно с помощью функции DATALENGTH.
Соглашения о синтаксисе Transact-SQL
Синтаксис
LEN ( string_expression )
Аргументы
string_expression
Вычисляемого строкового выражения . Аргумент string_expression может быть константой, переменной или столбцом символьных или двоичных данных.
Типы возвращаемых данных
bigint , если выражение имеет тип данных varchar(max), nvarchar(max)или varbinary(max); в противном случае — int.
Если вы используете параметры сортировки SC, возвращаемое целочисленное значение подсчитывает суррогатные пары UTF-16 как один символ. Для получения дополнительной информации см. Сортировка и поддержка Юникода.
Замечания
LEN исключает конечные пробелы. Если это проблема, рассмотрите возможность использования функции DATALENGTH , которая не обрезает строку. При обработке строки DATALENGTH юникода возвращает число, которое может не совпадать с числом символов. В следующем примере показано LEN и DATALENGTH с конечным пространством.
DECLARE @v1 AS VARCHAR (40), @v2 AS NVARCHAR (40);
SELECT @v1 = 'Test of 22 characters ',
@v2 = 'Test of 22 characters ';
SELECT LEN(@v1) AS [VARCHAR LEN],
DATALENGTH(@v1) AS [VARCHAR DATALENGTH];
SELECT LEN(@v2) AS [NVARCHAR LEN],
DATALENGTH(@v2) AS [NVARCHAR DATALENGTH];
Примечание.
Используется LEN для возврата числа символов, закодированных в заданное строковое выражение, и DATALENGTH для возврата размера в байтах для заданного строкового выражения. Эти выходные данные могут отличаться в зависимости от типа данных и типа кодировки, используемой в столбце. Дополнительные сведения о различиях в хранении между различными типами кодирования см. в разделе " Параметры сортировки" и поддержки Юникода.
Примеры
Следующий пример выбирает число символов и данные по имени людей FirstName, живущих в Australia. В примере используется база данных AdventureWorks.
SELECT LEN(FirstName) AS Length,
FirstName,
LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В следующем примере возвращается количество символов в столбце FirstName и имя () и имя семьи (FirstNameLastName) сотрудников, расположенных в Australia.
USE AdventureWorks2022;
GO
SELECT DISTINCT LEN(FirstName) AS FNameLength,
FirstName,
LastName
FROM dbo.DimEmployee AS e
INNER JOIN dbo.DimGeography AS g
ON e.SalesTerritoryKey = g.SalesTerritoryKey
WHERE EnglishCountryRegionName = 'Australia';
Вот результирующий набор.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias