Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Like谓词在SQL中是如何工作的?_Sql_Db2 - Fatal编程技术网

Like谓词在SQL中是如何工作的?

Like谓词在SQL中是如何工作的?,sql,db2,Sql,Db2,我有一个名为OrderNumber的字段,并且已经有一个字段值为“JY8023”的记录 我尝试使用此SQL代码进行查询,但它没有返回任何结果 SELECT .... WHERE OrderNumber LIKE "JY8023" 我也尝试过使用通配符,效果很好 SELECT .... WHERE OrderNumber Like "%JY8023%" 那么这是否意味着像“JY9023”这样的订单号与“JY8023”不同呢?字符串前后都有字符,你看不到。尝试类似于选择长度(OrderNumbe

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

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

SELECT .... WHERE OrderNumber LIKE "JY8023"
我也尝试过使用通配符,效果很好

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

那么这是否意味着像“JY9023”这样的订单号与“JY8023”不同呢?

字符串前后都有字符,你看不到。尝试类似于
选择长度(OrderNumber),其中OrderNumber类似于“%JY8023%”
以确认这一点。有些字符不仅不可见,而且不能被光标选中。但是,它们存在,并且影响字符串比较


接下来的其他调试步骤将是使用substring提取有问题的部分,并使用其他字符串函数进一步检查该值。例如,选择十六进制编码字符串可能有助于识别字节。

它们并不总是相同的。我发现这个页面非常有用:。你能在那里复制吗?我在as/400上的DB2上尝试过这个方法,并用类似FLD的“X”替换FLD='X'返回相同的记录。@tkendrick20我唯一担心的是用户会认为该网站是官方资源。我强烈建议使用特定于平台的文档,例如。
“JY8023”
是列名,而不是字符串文字
'JY8023'
将是一个字符串文本。是的,我已经查看了记录本身。在它之前有一些角色,很明显,当我询问时,它并没有出现。非常感谢。它正在工作。