title: BigQuery standard SQL : checking if an array is null does not work
body: <p>If i launch this query : </p>
  
  <pre><code>with a as (
  select cast(null as array&lt;string&gt;) as x union all select ['str1','str2'] as x)
  select * from a where x is null
  </code></pre>
  
  <p>I get this result : </p>
  
  <p><a href="https://i.stack.imgur.com/DROAJ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DROAJ.png" alt="enter image description here"></a></p>
  
  <p>This is the result i expected. </p>
  
  <p>But if i first launch this query :</p>
  
  <pre><code> select cast(null as array&lt;string&gt;) as x union all select ['str1', 'str2'] as x
  </code></pre>
  
  <p>whose result i save in a table "a" in a dataset "tmp" and then i launch this query : </p>
  
  <pre><code>select * from `tmp.a` where x is null
  </code></pre>
  
  <p>I get this result : </p>
  
  <p><a href="https://i.stack.imgur.com/1BSpZ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1BSpZ.png" alt="enter image description here"></a></p>
  
  <p>I expected a result identical to the first one. Why is there a difference between the two results ? </p>