Mysql “SQL查询”;例如;当字段为空时,运算符错误
此查询返回421条记录: 现在,当我实现“like”操作符时,它返回349条记录,它没有考虑“invoice_number”字段为null的记录:Mysql “SQL查询”;例如;当字段为空时,运算符错误,mysql,sql,string,sql-like,sql-null,Mysql,Sql,String,Sql Like,Sql Null,此查询返回421条记录: 现在,当我实现“like”操作符时,它返回349条记录,它没有考虑“invoice_number”字段为null的记录: 类似“%”的null条件是falsenull与不同。因此,如果希望允许null值,则需要明确说明: and (ds.numero_factura like '%%' or ds.numero_factura is null) 或者您可以使用coalesce(): 但这种情况并没有真正意义(基本上它将允许所有记录),所以您需要根据您的具体用例对其进
类似“%”的
null条件是falsenull
与不同。因此,如果希望允许null
值,则需要明确说明:
and (ds.numero_factura like '%%' or ds.numero_factura is null)
或者您可以使用coalesce()
:
但这种情况并没有真正意义(基本上它将允许所有记录),所以您需要根据您的具体用例对其进行调整
另一种说法是,ds.numero\u factura
看起来像一个数字;在这种情况下,您不想在其上使用字符串函数:而是使用数字函数。您想实现什么?
and coalesce(ds.numero_factura, '') like '%%'