title: Find rows which contain special characters except underscore and space
body: <p>I have a table with many columns with 2.1M rows. Here are the columns which are related with my problem :</p>
  
  <pre><code>Column_name Type    Computed    Length  Prec    Scale   Nullable    TrimTrailingBlanks  FixedLenNullInSource    Collation
  id          int     no          4       10      0       no          (n/a)               (n/a)                   NULL
  val         varchar no          15                      yes         no                  yes                     SQL_Latin1_General_CP1_CI_AS
  </code></pre>
  
  <p>I want to return rows which contain characters other than <code>A-Z</code>, <code>a-z</code>, <code>0-9</code>, <code></code>(space) and <code>_</code> in column <code>val</code>.
  Sample Data :</p>
  
  <pre><code>INSERT INTO tabl
              (id, val)
  VALUES      (1, 'Extemporè'),
              (2, 'Aâkash'),
              (3, 'Driver 12'),
              (4, 'asd'),
              (5, '10'),
              (6, 'My_Car'),
              (7, 'Johnson &amp; Sons'),
              (8, 'Johan''s Service'), 
              (9, 'Indus Truck')
  </code></pre>
  
  <p>Expected output :</p>
  
  <pre><code>id  val
  --  -----------
  1   Extemporè
  2   Aâkash
  7   Johnson &amp; Sons
  8   Johan's Service
  </code></pre>
  
  <p>I found similar question <a href="https://stackoverflow.com/questions/1919757/sql-server-2008-query-to-find-rows-containing-non-alphanumeric-chararacters-in-a">here</a> but it is also not giving expected results :</p>
  
  <pre><code>SELECT *
  FROM   tabl
  WHERE  val LIKE '%[^A-Z0-9 _]%' 
  </code></pre>
  
  <p>Gives result : </p>
  
  <pre><code>id  val
  --  ----------
  7   Johnson &amp; Sons
  8   Johan's Service
  </code></pre>