title: Select all columns, but replace some with expression in Google BigQuery?
body: <p>Similar to <a href="https://stackoverflow.com/questions/34056485/select-all-columns-except-some-in-google-bigquery">Select All Columns Except Some in Google BigQuery?</a> - we want to <code>SELECT *</code> from the table, but instead of excluding some columns, we want to replace them with some expression. For example, given table with columns: <code>name, start_date, amount, end_date, comment</code>, we want to convert <code>start</code> and <code>end</code> from <code>STRING</code> to <code>DATE</code>. It is possible to write </p>
  
  <pre><code>SELECT 
    * EXCEPT(start_date, end_date),
    CAST(start_date AS DATE) start_date,
    CAST(end_date AS DATE) end_date
  </code></pre>
  
  <p>But this would change order of columns moving start and end to the end.</p>