|
|
Publicēts 13.06.2018 11:07:11
|
|
|

Pirmkārt, varchar(max) aizstāj Microsoft izmantoto teksta datu tipu,Vecāki lauku tipi, piemēram, teksts, var tikt atcelti nākamajās versijās。 Tātad, kādu tekstu var saglabāt, varchar( max) noteikti var saglabāt. Patiesībā rakstzīmju skaits, ko tas var saglabāt, ir ļoti liels. 420 miljoni rakstzīmju, kuras var saglabāt, ir grūti sasniedzamas, kas, manuprāt, ir grūti sasniedzamas.
Es zināju tikai iepriekšteksts un attēls ir datu tipi, kas SQL Server var būt novecojuši, bet konkrētais iemesls nav skaidrs, kad es šodien lasīju, es atradu atšķirību starp tekstu un varchar(max) un nvarchar(max), galvenokārt operatoru ierobežojuma dēļ, tekstu var izmantot tikai ar šādām funkcijām:
| funkcija | Paziņojums | | DATU GARUMS | LASĪT TEKSTU | | PATINDEX | IESTATĪT TEKSTA LIELUMU | | APAKŠVIRKNE | ATJAUNINĀT TEKSTU | | TEKSTSPTR | RAKSTĪT TEKSTU | | TEKSTSDERĪGS | |
Piemēram, ja kolonnas "Teksts" datu tips ir teksts, to nevar izmantot tādām darbībām kā "=" un "left()", piemēram, šādam piemēram:
Izveidojiet tabulu un aizpildiet datus:
if exists (atlasiet * no sysobjects, kur id = OBJECT_ID('[asdf]') un OBJECTPROPERTY(id, 'IsUserTable') = 1)
NOMEŠANAS TABULA [asdf]
IZVEIDOT TABULU [asdf] (
[inttest] [int] IDENTITĀTE (1, 1) NAV NULLE,
[teksts] [teksts] NULL ,
[varcharmax] varchar(max) NULL )
MAINĪT TABULU [asdf] AR NOCHECK PIEVIENOT IEROBEŽOJUMU [PK_asdf] PRIMĀRĀ ATSLĒGA NAV KLASTERĒTA ( [inttest] )
IESTATĪT IDENTITY_INSERT [ASDF] IESLĒGTS
INSERT [asdf] ( [inttest] , [text] , [varcharmax] ) VALUES ( 1 , '1111111' , '1111111' )
IZSLĒGT IDENTITY_INSERT [asdf]
Palaidiet vaicājumu:
1. pieprasījums: SELECT [teksts]
,[varcharmax]
NO [testDB]. [DBO]. [asdf]
kur
[teksts] ='11111' UN
[varcharmax] = '1111111'
Tiek parādīts šāds kļūdas ziņojums:
Ziņojums 402, 16. līmenis, 1. stāvoklis, 1. rinda
Datu tipi text un varchar nav saderīgi ar operatoru vienāds ar.
2. pieprasījums: SELECT [teksts]
,[varcharmax]
NO [testDB]. [DBO]. [asdf]
kur
[varcharmax] = '1111111'
var sekmīgi darboties
MS SQL2005 un jaunākās versijās pievienojiet lielu vērtību datu tipus (varchar(max), nvarchar(max), varbinary(max)). Lielas vērtības datu tips var saglabāt līdz 2^30-1 baitam datu.
Šie datu tipi uzvedības ziņā ir identiski mazākiem datu tipiem varchar, nvarchar un varbinary.
Microsoft apgalvo, ka iepriekšējie teksta, ntext un attēla datu tipi ir aizstāti ar šo datu tipu, un atbilstība starp tiem ir šāda:
varchar(max)-------teksts;
nvarchar(max)-----ntext;
varbinary(max)----attēls.
Izmantojot lielas vērtības datu tipus, ir daudz elastīgāk strādāt ar lielas vērtības datiem nekā iepriekš. Piemēram, tekstu nevar lietot "like" iepriekš, bet pēc varchar(max) šo problēmu nav, jo varchar(max) uzvedībā ir tas pats, kas varchar(n), tāpēc to, ko var izmantot varcahr, var izmantot varchar(max).
Turklāt tas atbalsta AFTER trigeru izmantošanu lielu vērtību datu tipa kolonnu atsaucēm ievietotās un izdzēstās tabulās. teksts nav labs, īsāk sakot, pēc lielās vērtības datu tipa izmantošanas es esmu "mans viduklis vairs nesāp, kājas nav sāpīgas, un es varu uzkāpt uz sesto stāvu vienā elpas vilcienā". Ko jūs gaidāt, izmantojiet lielo vērtību veidu.
|
Iepriekšējo:Uh-huh, eh-huh, eh-huhNākamo:EF (lambda izteiksme) vaicā vairākus izņēmumus, kas radušies datos
|