我生成了这样一个sql脚本,

INSERT [dbo].[TableName] ([Sno], [Name], [EmployeeId], [ProjectId], [Experience]) 
VALUES (1, N'Dave', N'ESD157', N'FD080', 7)

我想知道这个N‘到底是什么意思,它在这里的目的是什么.

NOTE:通过搜索答案,我所能得到的是N'是国家语言标准的前缀,它用于使用unicode数据.但老实说,我无法弄清楚N'在这里的确切运作.我很感激你的帮助,请用更简单的方式.提前谢谢.

推荐答案

N用于指定unicode字符串.

Here's a good discussion: Why do some SQL strings have an 'N' prefix?

在您的示例中,不需要N前缀,因为ASCII字符(值小于128)直接映射到unicode.但是,如果要插入一个非ASCII的名称,则需要N前缀.

INSERT [dbo].[TableName] ([Sno], [Name], [EmployeeId], [ProjectId], [Experience]) 
VALUES (1, N'Wāhi', 'ESD157', 'FD080', 7)

Asp.net相关问答推荐

在控制器中通过依赖项注入使用ASP.NET变量值时,不会持久化

是否可以发布 ASP.NET 5 应用程序以使目标机器不需要安装 DNX?

逐步 ASP.NET 自动构建/部署

从 Request.Url.AbsolutePath 获取应用相对 url

某些黑客能否从用户那里窃取 Web 浏览器 cookie 并在网站上使用该名称登录?

如何判断 IIS 是处于 32 位还是 64 位模式

跨子域共享 ASP.NET cookie

无法让嵌套在 UpdatePanel 中的 WebControl 中的 ScriptManager.RegisterStartupScript 工作

使用域用户的 SQL 连接字符串?

在 ASP.NET 中将虚拟路径转换为实际 Web 路径

当用户使表单无效时单击取消按钮时,如何清除 MVC 客户端验证错误?

如何从 NuGet 安装 EntityFramework 5.0(和其他旧版本)?

路由模板分隔符/不能连续出现 - 属性路由问题

ASP.NET 身份提供程序 SignInManager 不断返回失败

如何直接在 .aspx 页面中访问 web.config 设置?

ASP.NET MVC NonAction 含义

通过 CultureInfo 格式化字符串

如何从 ASP.NET Identity 获取用户列表?

如何在 ASP.NET 响应中传递大文件?

获取 Application_Start 中的当前应用程序物理路径