Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział1Typydanych
SQL_VARIANT
Możemysięzetknąćzsytuacją,gdybędziemychcieliwjednejkolumnietabeliprzecho-
waćwięcejniżjedentypdanych.Wprawdziewogólnościniejesttonajlepsząpraktyką,
jednakwartowiedzieć,jaktentypdanychprzechowujeinformacjeijakiegorodzaju
ograniczeniagodotyczą.
TypdanychSQL_VARIANTumożliwiaprzechowywaniedanychróżnychtypów
wtejsamejkolumnie.Danezapisywanewtejkolumniemająmaksymalnąwielkość
8016bajtów.16ztychbajtówsłużydoprzechowaniainformacjiotypiedanychzawar-
tychwkonkretnymrekordzie.Pozostawiato8000bajtówdostępnychdlarzeczywistych
danychzapisanychwkolumnie.
Danemogąbyćwstawianebezpośredniodokolumnyalborzutowanejakookreślony
typ.JeślinieokreślimytypuwmomenciewstawianiadokolumnytypuSQL_VARIANT,
SQLServerbędziepróbowałustalićwłaściwytyp.Możetospowodować,żedanezosta-
nąprzechowaneinaczej,niżoczekiwano.PodczasgdySQL_VARIANT,jaksięwydaje,
radzisobiedobrzezliczbami,możemynapotkaćsytuacje,gdydatyzostanązapisane
jakotypVARCHAR(8000),oilenieokreślimyjawnietypudanych.
WkolumnietypuSQL_VARIANTmożnaprzechowywaćdanewszystkichtypów
zwyjątkiemponiższych:
●
VARCHAR(MAX)
●
NVARCHAR(MAX)
●
TEXT
●
IMAGE
●
SQL_VARIANT
●
HIERARCHYID
●
VARBINARY(MAX)
●
XML
●
NTEXT
●
ROWVERSION
●
GEOGRAPHY
●
GEOMETRY
●
DATETIMEOFFSET
●
Typyzdefiniowaneprzezużytkownika
SposóbsortowaniadanychwkolumnachSQL_VARIANTrównieżróżnisięodinnych
typówdanych.SQL_VARIANTgrupujedanewedługpodobnychtypów,nazywanych
21