Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 11633|Válasz: 0

[Forrás] Különbség van a szöveg és a varchar(max) adattípusok között az SQL Serverben

[Linket másol]
Közzétéve 2018. 06. 13. 11:07:11 | | |
Először is, a varchar(max) helyettesíti a Microsoft által használt szöveges adattípust,A régebbi mezőtípusok, például a szöveg, a későbbi verziókban törölhetők。 Szóval melyik szöveget lehet elmenteni, a varchar (max) mindenképpen menthető. Valójában a karakterek száma, amit tárolhat, nagyon nagy. A 420 millió karakter, amit tárolni lehet, nehezen elérhető, ami szerintem nehéz.

Csak korábban tudtama szöveg és a kép olyan adattípusok, amelyeket az SQL Server elavult lehet, de a konkrét ok nem világos, amikor ma olvastam, megtaláltam a különbséget a szöveg és a varchar(max) és nvarchar(max) között, főként az operátorok korlátozása miatt, a szöveget csak a következő függvények használhatják:
funkcióNyilatkozat
ADATHOSSZOLVASOTT SZÖVEG
PATINDEXÁLLÍTSD BE A TEXTSIZE
ALSTRINGFRISSÍTÉSI SZÖVEG
TEXTPTRÍRJ
TEXTVALID


Például, ha a "Szöveg" oszlop adattípusa szöveg, akkor nem használható olyan műveletekhez, mint a "=" és a "left()", például a következő példa:

Készíts egy táblát, és töltsd fel az adatokat:

ha létezik (válassz * a sysobjects-ből, ahol id = OBJECT_ID('[asdf]') és OBJECTPROPERTY(id, 'IsUserTable') = 1)

LEDOBÓ ASZTAL [asdf]

CREATE TABLE [asdf] (

[inttest] [int] IDENTITÁS (1, 1) NEM NULL ,

[szöveg] [szöveg] NULL ,

[varcharmax] varchar(max) NULL )

ALTER TABLE [ASDF] NOCHECK HOZZÁADÁSI KORLÁTOZÁSSAL [PK_asdf] ELSŐDLEGES KULCS NEM KLASZTEREZETT ( [inttest] )



ÁLLÍTSD IDENTITY_INSERT [ASDF] BEKAPCSOLNI



INSERT [asdf] ( [inttest] , [text] , [varcharmax] ) ÉRTÉKEK ( 1 , '1111111' , '1111111' )



INDÍTSD IDENTITY_INSERT [ASDF]

Futtatd le a lekérdezést:

1. kérdés:
SELECT [szöveg]

      ,[Varcharmax]

FORRÁS: [testDB]. [dbo]. [ASDF]

ahol

[szöveg] ='11111' ÉS

[varcharmax] = '1111111'


A következő hibaüzenet jelenik meg:

402-es üzenet, 16. szint, 1. állam, 1. sor

A text és varchar adattípusok nem kompatibilisek az egyenlő operátor között.

2. kérdés:
SELECT [szöveg]

      ,[Varcharmax]

FORRÁS: [testDB]. [dbo]. [ASDF]

ahol

[varcharmax] = '1111111'


sikeresen futni



Az MS SQL2005 és feletti esetekben adjunk hozzá nagy értékű adattípusokat (varchar(max), nvarchar(max), varbinary(max)). A nagy értékű adattípus akár 2^30-1 bájt adatot is képes tárolni.

Ezek az adattípusok viselkedésileg megegyeznek a kisebb adattípusokkal, mint a varchar, nvarchar és varbinary.

A Microsoft az állítása, hogy a korábbi szöveg, ntext és kép adattípusokat ezzel az adattípussal helyettesíti, és ezek közötti egyeztetés a következő:

varchar(max)-------text;

nvarchar(max)-----ntext;

varbinary(max)----image.



Nagy értékű adattípusoknál sokkal rugalmasabb a nagy értékű adatokkal való munkavégzés, mint korábban. Például a szöveget nem lehet 'like'-ben használni előtte, de a varchar(max) után nincsenek ilyen problémák, mert a varchar(max) viselkedésében ugyanaz, mint a varchar(n), így ami a varcahrban használható, az a varchar(max) esetében is használható.

Ezen felül támogatja az AFTER triggerek használatát nagy értékű adattípusú oszlophivatkozásokon a beillesztett és törölt táblákban. A szöveg nem jó, röviden, a nagy értékű adattípus használata után azt mondom: "a derékom már nem fáj, a lábaim nem fájnak, és egy lélegzetvétellel fel tudok menni a hatodik emeletre". Mire vársz, használd a nagy értékű típust.






Előző:Uh-huh, uh-huh, uh-huh
Következő:EF (lambda kifejezés) több adatban előfordult kivételt kér
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com