该查询返回421条记录:



现在,当我实现“ like”运算符时,它返回349条记录,它没有考虑字段为“ invoice_number”为空的记录:

最佳答案

null like '%%'之类的条件为假。 null不是like任何东西。因此,如果要允许null值,则需要对其明确说明:

and (ds.numero_factura like '%%' or ds.numero_factura is null)


或者您可以使用coalesce()

 and coalesce(ds.numero_factura, '') like '%%'


但是,此条件实际上并没有任何意义(基本上它将允许所有记录),因此您需要将其调整为适合您的确切用例。

另一个说明是ds.numero_factura看起来像一个数字。在这种情况下,您不想在其上使用字符串函数:而是使用数字函数。

关于mysql - 当字段为空时,SQL查询“like”运算符错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59648613/

10-16 10:11