加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-05-23 07:42:03 所属栏目: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

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读