sql - Like 谓词在 SQL 中如何工作?

标签 sql db2

我有一个名为 OrderNumber 的字段,并且已有一条该字段值为“JY8023”的记录。

我尝试使用此 SQL 代码进行查询,但它没有返回任何内容。

SELECT .... WHERE OrderNumber LIKE "JY8023"

我也尝试过使用通配符,它​​有效

SELECT .... WHERE OrderNumber Like "%JY8023%"

这是否意味着 OrderNumber Like "JY9023"OrderNumber = "JY8023" 不同?

最佳答案

字符串之前或之后有您看不到的字符。尝试类似 select length(OrderNumber) WHERE OrderNumber Like "%JY8023%" 来确认这一点。有些字符不仅不可见,而且无法用光标选择。但是,它们就在那里并且影响字符串比较。

接下来的额外调试步骤将是使用子字符串来提取有问题的部分,并使用其他字符串函数来进一步检查该值。例如,也许选择字符串作为十六进制编码字符串将帮助您识别字节。

关于sql - Like 谓词在 SQL 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17834894/

相关文章:

MySQL,将数据插入多列

sql - 使用 SQL Server 2000 插入多个值时出现问题

sql - DB2 中的查询计数

java - 如何更新数据库表中的稀疏值?

SQL/Doctrine : Left Join problem

java - 更新 DB2 for iSeries 表时出现错误 SQL7008

java - 通过不同的java线程从同一个数据库表中读取不同的数据集

sql - 使用多个条件和多行进行更新

sql - 将单个值从一个表连接到多行表 - Oracle

sql - 插入后为当前时间戳更新创建触发器