此查询返回 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
看起来像一个数字;在这种情况下,您不想在其上使用字符串函数:改用数字函数。