Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was bedeutet das Präfix N in T-SQL-Anweisungen und wann sollte ich es verwenden?

Es deklariert den String als nvarchar Datentyp statt varchar

Möglicherweise haben Sie Transact-SQL-Code gesehen, der Zeichenfolgen mit einem N-Präfix herumreicht. Dies bedeutet, dass die nachfolgende Zeichenfolge in Unicode ist (das N steht eigentlich für National Language Character Set). Das bedeutet, dass Sie einen NCHAR-, NVARCHAR- oder NTEXT-Wert übergeben, im Gegensatz zu CHAR, VARCHAR oder TEXT.

Zitat von Microsoft:

Stellen Sie Unicode-Zeichenfolgenkonstanten den Buchstaben N voran. Ohne das Präfix N wird die Zeichenfolge in die Standardcodepage der Datenbank konvertiert. Diese Standard-Codepage erkennt möglicherweise bestimmte Zeichen nicht .

Wenn Sie den Unterschied zwischen diesen beiden Datentypen wissen möchten, lesen Sie diesen SO-Beitrag:

Was ist der Unterschied zwischen varchar und nvarchar?