sql_variant (Transact-SQL)
Çeşitli değerlerini depolayan veri türü SQL Server-desteklenen veri türleri.
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.