当我运行以下查询时:
select charindex('ß','COMMISSIONING')
它返回 6。
我专门选择 ß 作为函数,因为我认为它不太可能出现在我的任何数据中。这几周工作得很好,但现在突然它在没有 ß 的地方检测到 ß,因此搞砸了我的功能。
有人可以告诉我这是什么原因造成的吗?
我正在使用 SQL Server 2016
因为,正如评论中所讨论的,SS
是一个“大写”ß
。如果您不希望字符匹配,则需要排序规则区分大小写。对于下面的内容,两者返回的值CHARINDEX
表达式是0
:
SELECT C, charindex('ß',V.C)
FROM (VALUES('COMMISSIONING' COLLATE Latin1_General_CS_AS)) V(C);
SELECT C, charindex('ß',V.C)
FROM (VALUES('COMMISSIONING' COLLATE Latin1_General_CS_AI)) V(C);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)