我有一个名为 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/