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-
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