4

这可能是一个菜鸟问题,但我在这里找到了一些 T-SQL 查询示例来验证数据库大小SELECTWHERE子句

这是代码:

SELECT name, size, size*1.0/128 AS [Size in MBs] 
FROM sys.master_files
WHERE name = N'mytest';

我的问题是子句中的N前缀是什么意思?WHERE name = N'keyword'

以前一直用WHERE name = 'keyword',没发现有什么区别(大家可以自己试试)。

我用谷歌搜索过,但我不知道我应该搜索的关键字

4

4 回答 4

5

它将字符串声明为 nvarchar 数据类型 (Unicode),而不是 varchar(8 位编码,包括 ASCII)。

仅供参考,这是问题的重复: T-SQL 语句中前缀 N 的含义是什么?

于 2013-10-11T18:56:18.300 回答
2

文档中:-

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

于 2013-10-11T18:53:28.163 回答
2

N 表示给定字符串中可以有一些 unicode 字符。

于 2013-10-11T18:53:37.487 回答
1

这意味着unicode。请参阅http://msdn.microsoft.com/en-us/library/bb399176.aspx要将字符串文字声明为 Unicode,请在文字前面加上大写“N”

于 2013-10-11T18:54:25.620 回答