[MSSQL] Opslaan van lange teksten (Text of Varchar)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
We willen gebruik gaan maken van MSSQL, echter was ik nu aan het uitzoeken welke velden voor welke opslag wij standaard gaan hanteren. Echter las ik op de site van microsoft (http://msdn.microsoft.com/en-us/library/ms187993.aspx) dat de types NTEXT, TEXT en IMAGE verwijderd worden in een volgende versie en dat daar dan NVARCHAR, VARCHAR of VARBINARY voor gebruikt moet worden.

Echter kunnen deze allen maar een maximale lengte van 8000 karakters i.p.v. 1.073.741.823 karakters.. Zie ik iets over het hoofd, of hoe lossen jullie dit op?

Acties:
  • 0 Henk 'm!

  • DamadmOO
  • Registratie: Maart 2005
  • Laatst online: 10-09 21:59
Vanuit de sql server help files:

nvarchar [ ( n | max ) ]
Variable-length Unicode character data. n can be a value from 1 through 4,000. max indicates that the maximum storage size is 2^31-1 bytes. The storage size, in bytes, is two times the number of characters entered + 2 bytes. The data entered can be 0 characters in length. The ISO synonyms for nvarchar are national char varying and national character varying.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 11-09 20:27

Matis

Rubber Rocket

varbinary [ ( n | max) ]

Variable-length binary data. n can be a value from 1 through 8,000. max indicates that the maximum storage size is 2^31-1 bytes. The storage size is the actual length of the data entered + 2 bytes. The data that is entered can be 0 bytes in length. The ANSI SQL synonym for varbinary is binary varying.
Goed lezen ;)

/laat

[ Voor 16% gewijzigd door Matis op 12-05-2010 10:31 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

Verwijderd

Je hebt vanaf SQL Server 2005 een datatype als nvarchar(max). Daar kunnen 2^31 - 1 bytes in, ruimschoots genoeg.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:57

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Hartelijk dank voor jullie reacties..
Ik had deze velden geintepeteerd als de maximale lengte is 4000, maar het is bedoeld als; de op te geven maximum lengte is 4000. Boven de 4000 is het altijd maximale lengte.

Kan iemand me ook vertellen wat het daadwerkelijk verschil is tussen varchar en varbinary? En waar wordt binary voor gebruikt?

Thnx.

[ Voor 22% gewijzigd door Josvds op 12-05-2010 11:43 ]


Acties:
  • 0 Henk 'm!

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 13-07 01:53

Korben

() => {};

Wederom te vinden in de MSDN, ik ga niet linken maar:

(n)(var)char is tekst, wordt als zodanig opgeslagen, is te indexeren voor FTS en kan worden vergeleken met andere stringwaardes. Er wordt ook verschil gemaakt tussen ANSI (varchar) data en Unicode (nvarchar) data.
(var)binary is wat de naam zegt, een stuk binaire data, als zodanig opgeslagen, en er valt niet veel mee te doen in query's (je kunt bijvoorbeeld niet kijken of een kolom van het type varbinary begint met een bepaalde sequentie van bytes). (var)binary wordt (bijvoorbeeld) gebruikt voor het opslaan van afbeeldingen of databestanden in de database, in plaats van in een bestandssysteem.

Imho, als je je afvraagt welke datatypes je moet gebruiken voor opslag en twijfelt tussen char en binary, dan vraag ik me af of het wel verstandig is om met SQL Server aan de gang te gaan en niet eerst eens wat meer leren over hoe databases werken.

[ Voor 8% gewijzigd door Korben op 12-05-2010 13:13 ]

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Ok bedankt voor jullie reacties, sorry was een lang weekend weg.
Ik ben verder gegaan met onderzoeken hoe wanneer welke types te gebruiken.
Bedankt nogmaals.
Pagina: 1