Azure sql database Azure SQL未返回结果

Azure sql database Azure SQL未返回结果,azure-sql-database,azure-sql,Azure Sql Database,Azure Sql,我有一个简单的查询,如下所示 select * from regulation where description = 'Regulation (EU) 2016' select * from regulation where description like '%Regulation (EU)%' select * from regulation where description like '%Regulation (E%' 上述查询均未返回结果 然而,当我 select *

我有一个简单的查询,如下所示

select * from regulation where description = 'Regulation (EU) 2016'

select * from regulation where description like '%Regulation (EU)%'

select * from regulation where description like '%Regulation (E%'
上述查询均未返回结果

然而,当我

    select * from regulation where description like '%Regulation%'
结果返回为,法规(欧盟)2016

我检查了是否有任何空格或其他字符,但没有显示任何内容。表中的描述类型为(nvarchar(max),null)

这很奇怪,我很困惑,从来没有见过这样的问题。有没有人遇到过类似的问题?还是我做错了什么?或者,它是否与Azure SQL设置或缓存相关,我需要请DBA重新编制索引


请帮忙。谢谢。

我想我们可以在查询中使用N'xxx'强制转换为Unicode字符,如下所示:

从法规中选择*,其中说明=N‘2016年欧盟法规’
从法规中选择*,其中的描述如N“%regulation(EU)%”
从规则中选择*,其中的描述类似于N'%regulation(E%'

您检查过结果中的
(EU)
是什么字符吗?可能它们是非ascii字符,看起来像E和U,与您的查询不匹配。如何检查(EU)是ascii表中的什么字符?这看起来像是一个错误。当我尝试使用更新查询更新(EU)时,它的更新/显示为(?U)-知道为什么吗?可能数据库设置了一些奇怪的排序规则。如果在SSMS中右键单击它,您应该会在“常规”选项卡中看到它。它通常类似于
SQL\u Latin1\u General\u CP1\u CI\u AS
。您可以尝试强制对查询进行排序。
其中[Column X]=[Column Y]核对Latin1_General_CI_AS
。取自选中项。以下是数据库属性中的集合:“SQL_Latin1_General_CP1_CI_AS”。以及兼容级别SQL Server 2017(140)