SQL的where子句中的’N’

前端之家收集整理的这篇文章主要介绍了SQL的where子句中的’N’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在这里看到这个查询
SELECT *
FROM HR.Employees
WHERE country <> N'JAP';

“N”是什么意思?我不确定这是否仅对sql服务器有效。

解决方法

N代表“国民字符”,表示字符串的内容Unicode

每当您遇到可能包含缺省ASCII字符集之外的字符的正确名称或其他实体时,您应该使用Unicode(nchar / nvarchar)。如果不使用N前缀包围这些字符串,则会丢失数据。例如:

SELECT N'ук ферт хер','ук ферт хер';

结果:

-----------        -----------
ук ферт хер        ?? ???? ???

您还应该确保在您的WHERE或其他子句中使用N(var)char列的N个前缀。当您不使用N前缀时,由于隐式转换,您可能会遇到严重的性能问题。

猜你在找的MsSQL相关文章