字符串文字上的 SQL Server T-SQL N 前缀

2021-09-10 00:00:00 sql tsql sql-server

这可能是一个菜鸟问题,但我发现了一些 T-SQL 查询示例,可以使用 SELECTWHERE 子句 验证数据库大小.microsoft.com/en-us/library/ms176061.aspx" rel="nofollow">此处

It's maybe a noob question but I found some T-SQL query example to verify database size with SELECT and WHERE clause here

代码如下:

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

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

My question is what does the N prefix mean in the WHERE name = N'keyword' clause?

我之前一直用WHERE name = 'keyword',没发现有什么不同(大家可以自己试一下).

I always use WHERE name = 'keyword' before, and I don't find the differences (you can try it by yourself).

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

I've googled that but I don't know the keyword I supposed to search

推荐答案

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

It's declaring the string as nvarchar data type (Unicode), rather than varchar (8-bit encoding, including ASCII).

仅供参考,这是问题的副本:前缀N是什么意思在 T-SQL 语句中?

FYI, this is a duplicate of the question: What is the meaning of the prefix N in T-SQL statements?

相关文章