title: SQL replace statement too slow
body: <p>I have a replace statement that does something like this:</p>
  
  <pre><code>SELECT Distinct Forenames, Surname, dbUSNs.DateOfBirth, Datasetname, 
         dbUSNs.MoPIGrade, SourceAddress, VRM, URNs 
  FROM Person 
  WHERE ( Replace(Replace(Replace(Replace(Replace(Replace(Replace
          (Replace(Replace(Replace(Replace(Replace(Replace(Replace
          (Replace(Replace(Replace(Replace(Replace(Replace(Replace
          (Replace(Replace(Replace(Replace
          (Surname,'/',''''),'?',''''),'',''''),'^',''''),'{',''''),'}',''''),
                  '[',''''),']',''''),';',''''),'$',''''),'=',''''),'*',''''),
                  '#',''''),'|',''''),'&amp;',''''),'@',''''),'\',''''),'&lt;',''''),
                  '&gt;',''''),'(',''''),')',''''),'+',''''),',',''''),'.',''''),
                  ' ','''') LIKE 'OREILLY%')
  </code></pre>
  
  <p>Therefore even though OReilly is passed, O'Reilly will be found.  However, this is too slow.  Is there a better way of approaching it?</p>