DATALENGTH (Transact-SQL)DATALENGTH (Transact-SQL)

Область применения: ДаSQL Server ДаБаза данных SQL Azure ДаAzure Synapse Analytics (Хранилище данных SQL) ДаParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database YesAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

Эта функция возвращает число байтов, использованных для представления выражения.This function returns the number of bytes used to represent any expression.

Примечание

Чтобы получить количество символов в строковом выражении, используйте функцию LEN.To return the number of characters in a string expression, use the LEN function.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

DATALENGTH ( expression )   

АргументыArguments

expressionexpression
Выражение любого типа данных.An expression of any data type.

Типы возвращаемых данныхReturn types

bigint, если expression имеет тип данных nvarchar(max) , varbinary(max) или varchar(max) ; в противном случае int.bigint if expression has an nvarchar(max), varbinary(max), or varchar(max) data type; otherwise int.

RemarksRemarks

Функция DATALENGTH особенно полезна при использовании с типами данных переменной длины, как показано ниже.DATALENGTH becomes really helpful when used with data types that can store variable-length data, such as:

  • imageimage
  • ntextntext
  • nvarcharnvarchar
  • texttext
  • varbinaryvarbinary
  • varcharvarchar

Для значения NULL функция DATALENGTH возвращает NULL.For a NULL value, DATALENGTH returns NULL.

Примечание

Уровни совместимости могут повлиять на возвращаемые значения.Compatibility levels can affect return values. Дополнительные сведения об уровнях совместимости см. в статье Уровень совместимости ALTER DATABASE (Transact-SQL).See ALTER DATABASE Compatibility Level (Transact-SQL) for more information about compatibility levels.

Примечание

Функция LEN возвращает количество символов, закодированных в определенное строковое выражение, а функция DATALENGTH — размер данных в байтах для определенного строкового выражения.Use the LEN to return the number of characters encoded into a given string expression, and DATALENGTH to return the size in bytes for a given string expression. Эти выходные данные могут быть разными в зависимости от типа данных и типа кодировки, используемой в столбце.These outputs may differ depending on the data type and type of encoding used in the column. Дополнительные сведения об отличиях типов кодировок, используемых для хранения данных, см. в статье Collation and Unicode Support (Поддержка параметров сортировки и Юникода).For more information on storage differences between different encoding types, see Collation and Unicode Support.

ПримерыExamples

В следующем примере находится длина столбца Name в таблице Product:This example finds the length of the Name column in the Product table:

USE AdventureWorks2016  
GO
SELECT length = DATALENGTH(EnglishProductName), EnglishProductName  
FROM dbo.DimProduct  
ORDER BY EnglishProductName;  
GO  

См. также разделSee also

LEN (Transact-SQL)LEN (Transact-SQL)
Функции CAST и CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
Типы данных (Transact-SQL)Data Types (Transact-SQL)
Системные функции (Transact-SQL)System Functions (Transact-SQL)