sql-server – Transact-SQL查询中字符串前的N前缀
发布时间:2021-05-24 09:39:43 所属栏目:MsSql教程 来源:网络整理
导读:请问,在Transact-SQL查询中,我应该何时在字符串前使用N前缀?我已经开始使用数据库了,我没有使用这样的查询得到任何结果 SELECT * FROM a_table WHERE a_field LIKE '%а_pattern%' 直到我将模式更改为N’%а_pattern%’.我以前从来没有添加这个前缀,所以我
请问,在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 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |