Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是什么导致两个看起来相同的SQL字符串之间的差异?_Sql_Sql Server_String_Join_Special Characters - Fatal编程技术网

是什么导致两个看起来相同的SQL字符串之间的差异?

是什么导致两个看起来相同的SQL字符串之间的差异?,sql,sql-server,string,join,special-characters,Sql,Sql Server,String,Join,Special Characters,我有一个连接问题,是由连接键中的特殊字符引起的。键是nvarchar字符串。两个字符串看起来完全相同。 (1) Łódzkie (2) Łódzkie 第一个是“正常”。如果我双击它,整个单词将被选中。如果我双击第二个单词,只会选择其中的一半(Ł或ódzkie),这取决于单击的是哪一半 我尝试将列类型从nvarchar更改为varchar。 我认为问题是由第一个字母引起的。我尝试了两种情况下的第一个字母的ascii作为selectASCII('321'),在这两种情况下我都得到了结果163 到目

我有一个连接问题,是由连接键中的特殊字符引起的。键是nvarchar字符串。两个字符串看起来完全相同。 (1)
Łódzkie
(2)
Łódzkie

第一个是“正常”。如果我双击它,整个单词将被选中。如果我双击第二个单词,只会选择其中的一半(
Ł
ódzkie
),这取决于单击的是哪一半

我尝试将列类型从nvarchar更改为varchar。 我认为问题是由第一个字母引起的。我尝试了两种情况下的第一个字母的ascii作为
selectASCII('321')
,在这两种情况下我都得到了结果163


到目前为止运气不好

听起来字符串中可能包含(隐藏)系统字符。您可以编写简单的t-sql函数,使用类似于
unicode
的函数将字符串转换为unicode代码数组。因此,您将看到差异。尝试将列强制转换为varbinary并检查代码点:
选择CAST(Col1作为varbinary(100)),CAST(Col2作为varbinary(100))
。另外,请确保在分析中使用
N
作为Unicode文本的前缀:
selectASCII(N'Ł')
@AllanS.Hansen是的,它解决了问题。罪犯不是藏在第一个字母里,而是藏在第二个看不见的字母里。它是看不见的。
CHAR(129)
——它看起来有点像没有空间的杜鹃蛋。我用unicode(substring(word,2,1))找到了它。非常感谢大家。