Share via


sql_variant (Transact-SQL)

Çeşitli değerlerini depolayan veri türü SQL Server-desteklenen veri türleri.

Topic link iconTransact-SQL sözdizimi kuralları

sql_variant

Remarks

sql_variant can be used in columns, parameters, variables, and the return values of user-defined functions.sql_variant enables these database objects to support values of other data types.

Sütun türü sql_variant farklı veri türleri, satır içerebilir. Örneğin, tanımlanmış bir sütun sql_variant saklayabilir int, binary, ve char değerleri. Aşağıdaki tablo kullanarak depolanamıyor değer türlerini listeler. sql_variant:

varchar(max)

varbinary(max)

nvarchar(max)

xml

text

ntext

image

timestamp

sql_variant

geography

hierarchyid

geometry

Kullanıcı tanımlı türler

sql_variant uzunluğu en fazla 8016 bayt olabilir.Bu, temel tür bilgileri hem de temel tür değeri içerir.Gerçek temel tür değeri en fazla uzunluk, 8000 bayttır.

C sql_variant veri türü ilk için dönüştürmelisiniz, temel veri türü toplama ve çıkarma gibi işlemleri katılma önce değeri.

sql_variant Varsayılan değer atanabilir.Bu veri türü NULL değeri temel olarak da sahip olabilirsiniz, ancak ilişkili bir temel tür NULL değerleri olacaktır.Ayrıca, sql_variant başka olamaz sql_variant kendi temel tür olarak.

Benzersiz, birincil ve yabancı anahtar türü olan sütunlar içerebilir sql_variant, ancak belirli bir satırın anahtarı oluşturan veri değerlerinin toplam uzunluğu en fazla uzunluk olan bir dizin birden fazla olmamalı. 900 Baytı budur.

A tablo herhangi bir sayıda olabilir sql_variant sütunlar.

sql_variant CONTAINSTABLE FREETEXTTABLE de kullanılamaz.

ODBC tam olarak desteklemiyor. sql_variant. Bu nedenle, sorguları sql_variant ODBC (MSDASQL) için Microsoft OLE DB sağlayıcı'nı kullandığınızda, sütun ikili veri olarak döndürülür. Örneğin, bir sql_variant 'PS2091' 0x505332303931 döndürülen karakter dizesi veri içeren bir sütun.

Sql_variant değerleri'ni karşılaştırma

The sql_variant data type belongs to the top of the data type hierarchy list for conversion.Için sql_variant karşılaştırmaları, SQL Server veri türü hiyerarşisi sırası veri tipi aileleri gruplandırılmıştır.

Veri türü hiyerarşisi

Veri tipi ailesi

sql_variant

sql_variant

datetime2

Tarih ve saat

datetimeoffset

Tarih ve saat

datetime

Tarih ve saat

smalldatetime

Tarih ve saat

date

Tarih ve saat

time

Tarih ve saat

float

Yaklaşık sayısal

real

Yaklaşık sayısal

decimal

Tam bir sayısal

money

Tam bir sayısal

smallmoney

Tam bir sayısal

bigint

Tam bir sayısal

int

Tam bir sayısal

smallint

Tam bir sayısal

tinyint

Tam bir sayısal

bit

Tam bir sayısal

nvarchar

Unicode

nchar

Unicode

varchar

Unicode

char

Unicode

varbinary

Binary

binary

Binary

uniqueidentifier

Uniqueidentifier

Aşağıdaki kurallar uygulanır sql_variant karşılaştırmalar:

  • Ne zaman sql_variant farklı bir temel veri türlerinden değerleri karşılaştırılır ve temel veri türleri farklı veri tipi aileleri, hiyerarşi grafiğinde, veri türü ailesinde daha yüksek olan değerdir, iki değerden büyük olduğu düşünülür.

  • Ne zaman sql_variant farklı bir temel veri türlerinden değerleri karşılaştırılır ve aynı veri türü ailesinde temel veri tipleridir, temel bir veri türü hiyerarşisi grafikte daha düşük olan değer, diğer veri türüne örtülü olarak dönüştürülür ve karşılaştırma sonra yapılır.

  • Ne zaman sql_variant değerleri char, varchar, nchar, veya nvarchar veri türleri karşılaştırılır, kendi alfabe düzenlerinden, öncelikle aşağıdaki ölçütlere göre karşılaştırılır: LCID, LCID sürüm karşılaştırma bayraklar ve sıralama kimliği Bu ölçüt her karşılaştırılır tamsayı değerler olarak ve listelendikleri sırada.Sonra bu ölçütlerle eşitse, gerçek bir dize değerlerini göre harmanlama karşılaştırılır.

See Also

Reference

Other Resources