sql >> Databasteknik >  >> RDS >> Sqlserver

Vad betyder prefixet N i T-SQL-satser och när ska jag använda det?

Den deklarerar strängen som nvarchar datatyp, snarare än varchar

Du kanske har sett Transact-SQL-kod som skickar strängar runt med ett N-prefix. Detta anger att den efterföljande strängen är i Unicode (N står faktiskt för National language character set). Vilket betyder att du skickar ett NCHAR-, NVARCHAR- eller NTEXT-värde, i motsats till CHAR, VARCHAR eller TEXT.

För att citera från Microsoft:

Prefix Unicode-teckensträngkonstanter med bokstaven N. Utan N-prefixet konverteras strängen till databasens standardteckentabell. Denna standardkodtabell kanske inte känner igen vissa tecken .

Om du vill veta skillnaden mellan dessa två datatyper, se detta SO-inlägg:

Vad är skillnaden mellan varchar och nvarchar?



  1. Installation av Postgres på fönster för användning med Ruby-on-Rails

  2. PostgreSQL temporära tabeller

  3. Ogiltigt parameternummer:parametern definierades inte. Infogar data

  4. Vad gör kolon tecken :i en SQL-fråga?