首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特殊的信件行为问题?

特殊的信件行为问题?
EN

Database Administration用户
提问于 2017-12-01 13:41:44
回答 1查看 49关注 0票数 0

我问问题的方式很模糊,因为我不能用短短的一句话来解释我的问题是什么。

一般来说,我有一组转换文本和XML的过程。在这个过程中,我有很多NVARCHARXML变量,还有一个带有XML列的表。在我的数据中,我有一些特殊的字母(例如ò)。当我运行所有的代码时,特殊字符就消失了,并以?的形式出现--这意味着我得到了VARCHAR而不是NVARCHAR

一般来说,在最后一步之前,一切都还好。我得到了EXEC,它用NVARCHAR类型的特殊构造变量调用存储过程。我有一个包含XML字段的表。在这种情况下,我得到了?。如果我手动运行过程(不是在EXEC INTO中),我就得到了正确的符号。

知道为什么会这样吗?我检查了所有变量,它们是NVARCHAR

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-12-01 15:00:50

这个问题有点模糊,但通常情况下,当您有Unicode字符并以问号或方框结束时,问题实际上是相对简单的。当您用'single quotes'声明Unicode字符串时,您需要在它们的前面加上一个N''。N代表国家,而不是nvarchar (诚然,U前缀( Unicode )更有意义)。

比较:

代码语言:javascript
复制
SELECT Prefix = N'', NoPrefix = '';

结果:

代码语言:javascript
复制
Prefix      NoPrefix
------      --------
           ??
票数 6
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/192169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档