Určitě NE :
-
TEXT, NTEXT:tyto typy jsou zastaralé od SQL Server 2005 a neměl by být používán pro nový vývoj. PoužijteVARCHAR(MAX)neboNVARCHAR(MAX)místo -
IMAGE,VARBINARY(MAX):IMAGEje zastaralé stejně jakoTEXT/NTEXTa opravdu nemá smysl ukládat textový řetězec do binárního sloupce....
Takže v podstatě zbývá VARCHAR(x) nebo NVARCHAR(x) :VARCHAR ukládá řetězce, které nejsou Unicode (1 bajt na znak) a NVARCHAR ukládá vše v režimu Unicode 2 bajty na znak. Takže potřebujete Unicode? Máte ve svých řetězcích arabské, hebrejské, čínské nebo jiné nezápadoevropské znaky? Poté přejděte pomocí NVARCHAR
(N)VARCHAR sloupce mají dvě varianty:buď definujete maximální délku, která má za následek 8000 bajtů nebo méně (VARCHAR až 8000 znaků, NVARCHAR až 4000), nebo pokud to nestačí, použijte (N)VARCHAR(MAX) verze, které ukládají až 2 GB dat.
Aktualizace: SQL Server 2016 bude mít nativní podporu JSON – nový JSON datový typ (který je založen na nvarchar ) a také FOR JSON příkaz pro převod výstupu z dotazu do formátu JSON
Aktualizace č. 2: ve finálním produktu Microsoft nezahrnul samostatný JSON datový typ – místo toho existuje řada funkcí JSON (pro zabalení řádků databáze do JSON nebo pro analýzu JSON do relačních dat), které pracují se sloupci typu NVARCHAR(n)