title: Dynamic sql syntax with dates
body: <p>This line in my dynamic sql which feeds some dynamic pivoting, does not seem to take in the correct dates and return the expected results. The query runs and returns no results.</p>
  
  <pre><code>and PA.DATE_RECEIVED BETWEEN 
  '+ convert(varchar(10), @Startdate, 120) +' AND '+ convert(varchar(10), @Enddate, 120) +'
  </code></pre>
  
  <p>Check to see what values it is picking up ... Some sql in the stored procedure.</p>
  
  <pre><code>select convert(varchar(10), @Startdate, 120) - 2013-02-02    
  select convert(varchar(10), @Enddate, 120) - 2013-02-26
  </code></pre>
  
  <p>Running the query outside in normal sql, it works ? What is the problem.</p>
  
  <pre><code>select COALESCE( PT.[description] , 'Grand Total') AS [Transaction Type], 
             Sum (AI.PRICE_INC_VAT) AS [AMOUNT (ú) CREDIT],
             P.[DESCRIPTION] AS [PRODUCT TYPE]    
  From  [dbo].[T1] C     
  join [dbo].[T2] S on S.[Customer_ID]=C.[Customer_ID]     
  join [dbo].[T3] SO on SO.[SITE_ID]=S.[SITE_ID]    
  join [dbo].[T4] OI on OI.[ORDER_ID]=SO.[SITE_ORDER_ID]    
  left join [dbo].[T5] P on P.[PRODUCT_ID]=OI.[PRODUCT_ID]    
  JOIN [dbo].[T6] AI ON  AI.ORDER_ITEM_ID = OI.ORDER_ITEM_ID    
  JOIN T7 JBAI ON JBAI.ACTION_ITEM_ID = AI.ACTION_ITEM_ID    
  JOIN T8 JB ON JB.JOB_BATCH_ID = JBAI.JOB_BATCH_ID    
  JOIN T9 PA on PA.PAYMENT_ID=JB.PAYMENT_ID    
  LEFT JOIN T10 CU ON JB.CUSTOMER_USER_ID = CU.CUSTOMER_USER_ID    
  JOIN T11 PT ON PT.PAYMENT_TYPE_ID=PA.PAYMENT_TYPE_ID     
  LEFT JOIN T12 SU ON SU.SYS_USER_ID=JB.SYS_USER_ID   
  where P.[PRODUCT_CATEGORY_ID]= ( 
                          select PC.[PRODUCT_CATEGORY_ID] from [dbo].[PRODUCT_CATEGORY] PC 
                          where PC.[DESCRIPTION]='BAGS')     
  and C.COMPANY_ID= '12'    
  and PA.DATE_RECEIVED BETWEEN '02-FEB-2013' AND '26-FEB-2013'    
  group by PT.DESCRIPTION, P.DESCRIPTION 
  </code></pre>