sql字符串中的感叹号

时间:2017-11-20 19:15:27

标签: sql sql-server-2012 powerpivot

我在这样的表格中输入了字符串'ABC !! DEF' 当我在SSMS中选择时,我会看到它们。 当我尝试在Powerpivot中添加它们时,它们会消失。 当我尝试在SQL中使用简单的

修改我的视图时

Replace(MyString, '!!',' ') !!仍在那里。我也尝试使用char(33)并遇到同样的问题。

我在SQL Server 2012上使用SSMS

我搜索周围已经有一段时间了,所以我需要你的帮助!!!!

谢谢!

2 个答案:

答案 0 :(得分:0)

如果这是一个真正的字符串,请测试实际值是多少。显然这不是一个感叹号。你可以这样找到:

declare @str table (string nvarchar(64))
insert into @str
values
(N'ABC !! DEF'),
(N'ABC ‼ DEF')

select 
    ASCII(SUBSTRING(string,5,1))
   ,UNICODE(SUBSTRING(string,5,1))
from @str

然后,您将知道需要更换的内容。您可能需要编辑substring以从实际列中提取值。没有真实的样本数据,这是我能想到的最好的。

答案 1 :(得分:0)

感谢您在此问题上的帮助。通过您所做的所有尝试和提议,指导我找到解决方案。这是解释......

问题是由于从名为Evolve(应用程序库/产品目录)的工具中导出数据。它生成数据的Excel提取。我理所当然地认为提取物很好,但我看到了一种奇怪的行为。一些 - 出口得当。但在同样的情况下, - 是一个复制粘贴,从一个词给出更长的时间 - 。在导出中,这很长 - 给了我!!,这是转换角色时的错误。我想通过直接复制!! SQL中的符号(给出一个空白)或Outlook(给出一个带有询问标记的正方形)。

这个角色是CHAR(19)。我只是用char分割原始字符串char以查看值。

我通过用 - 替换CHAR(19)来解决我的问题。 我要求Evolve的产品所有者纠正这种行为。

再次感谢您的意见和建议!