title: Odd behavior of now() and db\Expression in yii2/mysql
body: <p>I can't make the following code behave like it should (deleting expired records). Simple test code:</p>
  
  <p>test_expire table definition:</p>
  
  <pre><code>CREATE TABLE `test_expire` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `expire` timestamp NOT NULL,
   PRIMARY KEY (`id`)
  );
  </code></pre>
  
  <p>Code:</p>
  
  <pre><code>TestExpire::deleteAll();
  
  $record = new TestExpire();
  $record-&gt;expire = new Expression("NOW() + INTERVAL 1 MONTH");
  $record-&gt;save();
  
  $record = new TestExpire();
  $record-&gt;expire = new Expression("NOW() + INTERVAL 1 YEAR");
  $record-&gt;save();
  
  $records = TestExpire::find('expire &gt; :expire', ['expire' =&gt; date('Y-m-d')])-&gt;all();
  echo "Records (" . count($records) . "):\n";
  foreach($records as $record) {
      echo "Expire: " . $record-&gt;expire . "\n";
  }
  TestExpire::deleteAll("expire &lt; NOW()");
  $records = TestExpire::find('expire &gt; :expire', ['expire' =&gt; date('Y-m-d')])-&gt;all();
  echo "Records after delete 1: " . count($records) . "\n";
  
  TestExpire::deleteAll("expire &lt; :expire", [':expire' =&gt; date('Y-m-d G:i:s')]);
  $records = TestExpire::find('expire &gt; :expire', ['expire' =&gt; date('Y-m-d')])-&gt;all();
  echo "Records after delete 2: " . count($records) . "\n";
  
  TestExpire::deleteAll("expire &lt; :expire", [':expire' =&gt; new Expression("NOW()")]);
  $records = TestExpire::find('expire &gt; :expire', ['expire' =&gt; date('Y-m-d')])-&gt;all();
  echo "Records after delete 3: " . count($records) . "\n";
  </code></pre>
  
  <p>Well I expect all deleteAll expressions be the same, each of them not deleting records. But the last one does. Here's the output:</p>
  
  <pre><code>Records (2):
  Expire: 2015-01-05 14:52:02
  Expire: 2015-12-05 14:52:02
  Records after delete 1: 2
  Records after delete 2: 2
  Records after delete 3: 0
  </code></pre>
  
  <p>The question is why it happens and how to make it work as intended?</p>