DATALENGTH (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
この関数では、式を表すために必要なバイト数が返されます。
Note
文字列式内の文字数を取得するには、LEN 関数を使用します。
構文
DATALENGTH ( expression )
引数
式 (expression)
任意の型の式。
戻り値の型
expression が varchar(max)、nvarchar(max)、varbinary(max) データ型の場合は bigint、それ以外の場合は int。
解説
次のような可変長データを格納できるデータ型で使用すると、DATALENGTH
は非常に便利です。
- image
- ntext
- nvarchar
- text
- varbinary
- varchar
NULL 値の場合、DATALENGTH
は NULL を返します。
Note
戻り値は、互換性レベルによって変わることがあります。 互換性レベルの詳細については、「ALTER database (transact-sql) SQL の互換性レベル」を参照してください。
Note
特定の文字列式にエンコードされた文字数を取得するには LEN を使用し、特定の文字列式のバイト サイズを取得するには DATALENGTH を使用します。 これらの出力は、データ型および列で使用されているエンコードの種類によっては、異なる場合があります。 異なる種類のエンコードでの記憶域の違いについて詳しくは、「照合順序と Unicode のサポート」をご覧ください。
例
この例では、Product
テーブルの Name
列の長さが返されます。
USE AdventureWorks2022
GO
SELECT length = DATALENGTH(EnglishProductName), EnglishProductName
FROM dbo.DimProduct
ORDER BY EnglishProductName;
GO
関連項目
LEN (Transact-SQL)
CAST および CONVERT (Transact-SQL)
データ型 (Transact-SQL)
システム関数 (Transact-SQL)