该查询返回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/