sql >> Databasteknik >  >> RDS >> Mysql

Hur man skriver var Between-frågan i yii2

Kan vara ett problem relaterat till konverteringen av inmatningen försök använda en str_to_date och literal Where(använd en korrekt datumformatkonvertering baserat på ditt format i mitt exempel är "%d-%m-%Y")

$modelStockDetails=StockDetails::find()
  ->where(' date(created) between STR_TO_DATE("'.  $start_date . '", "%d-%m-%Y" ) 
        AND   STR_TO_DATE("' .  $end_date . '", "%d-%m-%Y" )' )
  ->andwhere(['receiving_order_id' =>$modelRecevingOrder->id,'deleted' => 'N'])->all();

eller för att undvika användningen av var i sql kan du använda

$modelStockDetails=StockDetails::find()
->where(' date(created) between STR_TO_DATE(:start_date, "%d-%m-%Y" ) 
      AND   STR_TO_DATE( :end_date, "%d-%m-%Y" )', [':start_date' => $start_date, ':end_date' => $end_date] )
->andwhere(['receiving_order_id' =>$modelRecevingOrder->id,'deleted' => 'N'])->all();



  1. När jag anger en dateadd- eller datediff-kod får jag det här felet hela tiden ORA-00904 DATEADD Ogiltig IDENTIFIER.

  2. Hur UPPDATERAS en kolumn med en annan kolumn i en annan tabell? SQL-fel:ORA-00933:SQL-kommandot avslutades inte korrekt

  3. Var infogar jag ORDER BY i min MYSQL-fråga

  4. Introduktion till PostgreSQL