2009-04-16 27 views
2

Worauf bezieht sich das N in varchar (N), wenn ein Feld in einer Datenbank beschrieben wird. Ist es die Anzahl der Zeichen oder Bytes? Wenn UTF-8 verwendet wird, kann ein Zeichen mehr als ein Byte verwenden.Was bedeutet das N in varchar (N)?

Antwort

3

Es ist die maximale Anzahl von Zeichen.

nvarchar(1000) = max. 1000 Unicode-Zeichen.

2

varchar kann Unicode-Zeichen nicht halten, so n in varchar(n) bedeutet beide Anzahl der Zeichen und der Anzahl von Bytes. Im Fall von nvarchar(n) die n bedeutet die Anzahl der Unicode-Zeichen, mit der Speichergröße von zweimal n Bytes. Wenn Sie information_schema.columns abfragen, gibt es unter anderem zwei besonders interessante Spalten: CHARACTER_MAXIMUM_LENGTH und CHARACTER_OCTET_LENGTH. Ersteres enthält die Anzahl der Zeichen und letzteres die Anzahl der Bytes.

Verwandte Themen