在我的表记录中有一个特殊的字符(其中许多(
就是这个炭◾
当我尝试搜索包含此字符的记录时,出于某种原因,我会得到所有记录。
这是我的查询
SELECT TOP 100 *
FROM X2
where txt like N'%◾%'
我发现ASCII=63
我想知道是否有一种方法可以用ASCII码在文本中搜索?
我试过了,但没有记录
SELECT TOP 100 *
FROM X2
where txt like N'%' + char(63) + '%'
知道怎么得到它吗?
我正在使用SQL Server 2019(v15(
这是SQL Server如何进行Unicode比较的结果,简而言之,可以通过更改排序规则来解决,例如
declare @Test table (test nvarchar(max));
insert into @Test (test)
values (N'a◾b'), ('asd');
select *
from @Test
where Test like N'%◾%' COLLATE Latin1_General_100_CI_AI;
退货:
test
a◾b
修改排序规则以适合例如CI(不区分大小写(<->;(区分大小写(、AI(不区分重音(<->;AS(区分重音(。
如需完整描述,请参阅本文。