当前位置: 首页 > 知识库问答 >
问题:

前缀N在T-SQL语句中的含义是什么,我应该在什么时候使用它?

傅志用
2023-03-14
INSERT INTO Personnel.Employees
VALUES(N'29730', N'Philippe', N'Horsford', 20.05, 1),

这个'n'前缀有什么用途,应该在什么时候使用?

共有1个答案

邹胜泫
2023-03-14

它将字符串声明为nvarchar数据类型,而不是varchar

您可能见过使用N前缀传递字符串的Transact-SQL代码。这表示后续字符串是Unicode(N实际上代表国家语言字符集)。这意味着传递的是NCHAR、NVARCHAR或NTEXT值,而不是CHAR、VARCHAR或text值。

引用微软的话说:

用字母N作为Unicode字符串常量的前缀。如果没有N前缀,字符串将转换为数据库的默认代码页。此默认代码页可能无法识别某些字符。

如果您想知道这两种数据类型之间的区别,请参阅SO Post:

varchar和Nvarchar有什么区别?

 类似资料:
  • 问题内容: 我在某些插入T-SQL查询中看到前缀N。在表中插入值之前,许多人已经使用过。 我进行了搜索,但是在将任何字符串插入表之前,我无法理解包括的目的是什么。 此“ N”前缀起什么作用?何时使用? 问题答案: 它声明字符串为数据类型,而不是 您可能已经看到了Transact- SQL代码,该代码使用N前缀传递字符串。这表示后面的字符串是Unicode(N实际上代表本国语言字符集)。这意味着您要

  • 我理解mockito.verify()用于确保使用所需参数调用模拟方法。但我不明白这其中的用意。我经常看到类似这样的测试: 测试验证在调用UserService的createUser方法时是否调用了UserDAO的create方法。看起来很荒唐。如果我改变了UserService的实现,使它不调用UserDAO的方法,那么即使实现是正确的,测试也会失败。 我承认在某些情况下,可能需要验证方法被调用

  • 我想知道什么时候可以有效地使用。我不确定到底有多有用,有三个原因。 (请将start和end视为整数。) > 如果我想要一个数组,,下面的代码要快得多。 我不认为仅仅获取从到的数字是有用的。我可以将

  • 有没有人遇到过使用场景?由于是默认选项,我看不到你什么时候会使用它。

  • 问题内容: 我知道他们两个都禁用了Nagle的算法。 我什么时候应该/不应该使用它们中的每一个? 问题答案: 首先,不是所有人都禁用Nagle的算法。 Nagle的算法用于减少有线中更多的小型网络数据包。该算法是:如果数据小于限制(通常是MSS),请等待直到收到先前发送的数据包的ACK,同时累积用户的数据。然后发送累积的数据。 这将对telnet等应用程序有所帮​​助。但是,在发送流数据时,等待A

  • 问题内容: 在该类中,有两个字符串,和。 有什么不同?我什么时候应该使用另一个? 问题答案: 如果你的意思是和则: 用于在文件路径列表中分隔各个文件路径。考虑在上的环境变量。您使用a分隔文件路径,因此在上将是;。 是或用于拆分到特定文件的路径。例如在上,或