sql - SQL Server 查询中的 Like 语句不返回所有结果

标签 sql sql-server sql-like

我有一个数据库表,其中一列类型为 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%'
结果:
No results returned when using like query
编辑:
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/

相关文章:

mysql单表分组删除零元素

postgresql - Postgres 类型 json 详细信息的输入语法无效 : Token "%" is invalid

Mysql 使用搜索字符串排序

sql - 将 VariableTable 从存储过程返回到另一个

mysql - 将两个不同的查询结果添加到一张表中

Java:连接到 MySQL 时遇到问题

sql-server - 有人在 SQL Server 中使用 Service Broker 吗?

sql - 批量插入时出现错误

sql - 如何一次执行多个存储过程?

sql - QSqlDatabase 和 QTableView 不同步(SQLite)