title: ascending or descending order according to boolean column
body: <p>This is the table structure in PostgreSQL 10.<br>
  <a href="https://i.stack.imgur.com/87PAL.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/87PAL.png" alt="enter image description here"></a></p>
  
  <p>Even though "date" is an <code>int</code>, it represents a yyyy mm dd date. I am trying to write a <code>SELECT</code> that orders by date and when it is BC=true it is <code>desc</code>, so dates will be in the right order -500 01 02 then -500 01 03 (yyyy mm dd) <br>
  and when is is BC=false it is <code>asc</code>, so dates will be in the right order again 1500 01 02, then 150 01 03 (yyyy mm dd)</p>
  
  <p>I came up with this <code>SELECT * FROM test ORDER BY bc=true desc, bc=false asc;</code> that does great on BC dates, but it flips the AD dates (15000103 then 15000102, that is wrong). </p>
  
  <p>I know there is the <code>date</code> type available, but I want this to work as a hack for exact BC dates. </p>
  
  <p>How can I change my <code>SELECT</code> to properly order the dates according to the BC boolean column? </p>
  
  <p>Thanks</p>