我有一个数据库表,其中一列类型为 nvarchar(max)
和值“17KAAKSPN13”
使用像“%17KA%”这样的 testcolumn 查询表时,不会返回任何结果。如果我使用 '%17KAA%' 查询,我会得到一个结果。
为了测试这一点,创建一个简单的表并执行下面的查询,看看第二个查询没有返回任何结果:
更新:服务器整理:Danish_Norwegian_CI_AS
CREATE TABLE [dbo].testtable(
testcolumn [nvarchar](max) NULL
)
insert into [dbo].testtable (testcolumn) values('17KAAKSPN13')
SELECT * FROM [dbo].testtable
SELECT * FROM [dbo].testtable WHERE testcolumn like '%17KA%'
结果:编辑:
Here是它不起作用的一个例子。我将其添加为编辑,因为有很多评论和两个不合适的 fiddle 。这个问题似乎与整理有关。
最佳答案
来自这里 - https://stackoverflow.com/a/53802337/13927312
尝试看看在您的模式之前添加 N(将其标记为 Unicode)是否有任何区别。它可能无法解释这种行为,但可以解决您的问题。
SELECT * FROM [dbo].testtable WHERE testcolumn like N'%17KA%'
关于sql - SQL Server 查询中的 Like 语句不返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62908953/