Udostępnij za pomocą


DŁUGOŚĆ DANYCH (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

Funkcja ta zwraca liczbę bajtów używanych do reprezentowania dowolnego wyrażenia.

Uwaga / Notatka

Aby zwrócić liczbę znaków w wyrażeniu ciągowym znaków, użyj funkcji LEN .

Transact-SQL konwencje składni

Składnia

DATALENGTH ( expression )   

Arguments

expression
Wyrażenie dowolnego typu danych.

Typy zwracane

bigint , jeśli ekspresja ma typ danych nvarchar(max),varbinary(max) lub varchar(max ); w przeciwnym razie int.

Uwagi

DATALENGTH Staje się naprawdę pomocny, gdy używa się z typami danych, które mogą przechowywać dane o zmiennej długości, takich jak:

  • image
  • ntext
  • nvarchar
  • tekst
  • varbinary
  • varchar

Dla wartości NULL zwraca DATALENGTH się NULL.

Uwaga / Notatka

Poziomy kompatybilności mogą wpływać na wartości zwrotu. Zobacz ALTER DATABASE Compatibility Level (Transact-SQL ), aby uzyskać więcej informacji o poziomach kompatybilności.

Uwaga / Notatka

Użyj LEN , aby zwrócić liczbę znaków zakodowanych w danym wyrażeniu ciągowym, oraz DATALENGTH , aby zwrócić rozmiar w bajtach dla danego wyrażenia ciągowego. Te wyjścia mogą się różnić w zależności od typu danych i rodzaju kodowania używanego w kolumnie. Więcej informacji o różnicach w pamięci masowej między różnymi typami kodowania można znaleźć w artykule Collation and Unicode Support.

Przykłady

Ten przykład pokazuje Product długość kolumny Name w tabeli:

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

Zobacz także

LEN (Transact-SQL)
RZUTOWANIE i konwertowanie (Transact-SQL)
Typy danych (Transact-SQL)
Funkcje systemowe (Transact-SQL)