Hallo!

Die TEXT-Felder in Access entsprechen im SQL-Server den VARCHAR- oder
NVARCHAR-Feldern. Und ein MEMO-Feld kann man als TEXT- oder NTEXT-, oder
IMAGE-Feld definieren.

Einerseits unterst�tzt SQL Server den Unicode, andererseits werden die
Daten aber immer unkomprimiert abgelegt, so dass ein Buchstabe immer 2
Bytes ben�tigt. In CHAR(20) passen 20 Buchstaben, in NCHAR(20) aber nur
10.

Der Unterschied zwischen VARCHAR(20) und CHAR(20) ist der zwischen "abc"
und "abc                 ". CHAR-Felder haben immer die definierte
L�nge; Leerzeichen werden erforderlichenfalls automatisch angef�gt. Also
nimmt man CHAR nur bei kurzen Feldern oder dann, wenn immer die gleiche
Zeichenl�nge eingegeben wird. CHAR-Felder sind n�tzlich f�r Indizes
(weil schneller), k�nnen aber in Abfragen Probleme bereiten. So findet
man mit "... where xy = 'abc' ..." keinen Datensatz, wenn xy ein
CHAR(4)-Feld. In dem Fall muss man nach 'abc ' suchen. Wenn man eine
Abfrage �ber ADO macht, wird die L�nge automatisch angepasst: "set rs =
cmd.Execute("...query...", array("abc"))" funktioniert also auch mit
CHAR-Feldern.

Freundliche Gr��e
Joachim van de Bruck




| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an