sql >> Databáze >  >> RDS >> Sqlserver

Jaký význam má předpona N v příkazech T-SQL a kdy ji mám použít?

Deklaruje řetězec jako nvarchar datový typ, nikoli varchar

Možná jste viděli kód Transact-SQL, který předává řetězce pomocí předpony N. To znamená, že následující řetězec je v Unicode (N ve skutečnosti znamená znakovou sadu národního jazyka). Což znamená, že předáváte hodnotu NCHAR, NVARCHAR nebo NTEXT, nikoli CHAR, VARCHAR nebo TEXT.

Chcete-li citovat od společnosti Microsoft:

Konstanty řetězce znaků Unicode předponují písmenem N. Bez předpony N se řetězec převede na výchozí kódovou stránku databáze. Tato výchozí kódová stránka nemusí rozpoznat určité znaky .

Pokud chcete znát rozdíl mezi těmito dvěma datovými typy, podívejte se na tento příspěvek SO:

Jaký je rozdíl mezi varchar a nvarchar?



  1. PostgreSQL:Proč se psql nemůže připojit k serveru?

  2. Python:použít mysqldb k importu tabulky MySQL jako slovníku?

  3. Proč SQL Server typ DATETIME šetří čas v krocích 1/300 sekundy?

  4. Postgresql:Jak najít soubor pg_hba.conf pomocí Mac OS X