2010-07-22 9 views
1
USE AdventureWorks; 
GO 
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL 
DROP TABLE dbo.AWBuildVersion; 
GO 

Quelle est la N dans N symbolise 'dbo.AWBuildVersion' & N 'U'?question de syntaxe SQL Server

+0

C'est l'une de ces choses agaçantes qui sont vraiment difficiles à trouver ou à rechercher sur Google. – DOK

+0

duplicata possible de [Quel est le but de mettre un 'N' devant les paramètres de fonction dans TSQL?] (Http://stackoverflow.com/questions/2448203/what-is-the-purpose-of-putting-an -n-in-front-of-function-parameters-in-tsql). Il y a une autre copie de ceci qui est apparue il y a quelques jours ... –

Répondre

2

C'est pour Unicode. C'est comme un type de données SQL nvarchar ou nchar. Pour plus d'informations, voir ceci: http://support.microsoft.com/kb/239530

1

Lorsque vous traitez avec constantes de chaîne Unicode dans SQL Server, vous devez précéder toutes les chaînes Unicode avec une lettre majuscule N.

Le préfixe « N » signifie en langue nationale dans la norme SQL-92, et doit être majuscule.

Si vous ne préfixez pas une constante de chaîne Unicode avec N, SQL Server la convertira en page de codes non Unicode de la base de données actuelle avant d'utiliser la chaîne.

Parfois, les gens utilisent N 'par habitude, pas quand c'est vraiment nécessaire.