Dedupe Rule - blank matches
It's coming from line 179 in CRM/Dedupe/BAO/Rule.php, but it looks as if it's been like this forever so I'm not sure if there's a reason.

If you change line 76 where it sets $on to be the below code instead, it makes it work but I can't immediately see if that has any side-effects for other types of rules.

    $on = [
      "SUBSTR(t1.{$this-&gt;rule_field}, 1, {$this-&gt;rule_length}) = SUBSTR(t2.{$this-&gt;rule_field}, 1, {$this-&gt;rule_length})",
      "t1.{$this-&gt;rule_field} IS NOT NULL",
      "t1.{$this-&gt;rule_field} &lt;&gt; ''",
    ];


Note that dedupe checking caches results, so after you make that change clear cache at admin - system settings - cleanup caches.