sql-server – Transact-SQL查询中字符串前的N前缀

前端之家收集整理的这篇文章主要介绍了sql-server – Transact-SQL查询中字符串前的N前缀前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请问,在Transact-SQL查询中,我应该何时在字符串前使用N前缀?我已经开始使用数据库了,我没有使用这样的查询得到任何结果
SELECT * FROM a_table WHERE a_field LIKE '%а_pattern%'

直到我将模式更改为N’%а_pattern%’.我以前从来没有添加这个前缀,所以我很好奇. a_field被定义为nvarchar(255),但我认为原因是别的.

解决方法

以下文章提供了有关该问题的一些很好的信息.简短的回答是你正在使用的unicode列和非unicode字符串文字之间存在类型不匹配.从知识库文章看,省略N前缀在某些情况下可能仍然有效,但这取决于数据库代码页和排序规则设置.这可能解释了行为的变化,如果您之前使用无前缀方法取得了成功.

https://support.microsoft.com/en-us/kb/239530

猜你在找的MsSQL相关文章