2016-03-07 87 views
-2

我收到上述錯誤誰能請幫助什麼是代碼中的問題...轉換失敗時轉換爲nvarchar成int

P.YKey BETWEEN YEAR('''+ CONVERT(VARCHAR(50), @BDate, 103) +''') 
      AND YEAR('''+ CONVERT(VARCHAR(50), @eDate, 103) +''') 
    AND P.DCreation BETWEEN '''+ CONVERT(VARCHAR(50), @BDate, 103) +''' 
         AND '''+ CONVERT(VARCHAR(50), @eDate, 103) +'''' 

回答

0

什麼是@BDate,@eDate的類型?

更新: 由於兩個變量的類型是DATETIME,轉換不是必需的。

P.YKey BETWEEN YEAR(@BDate) 
      AND YEAR(@eDate) 
    AND P.DCreation BETWEEN @BDate 
         AND @eDate 
+0

DateTime @zhang – Rashi

0

,因爲它似乎是你有興趣的創建日期而已,還不是時候,我也投了日期時間日期。所以假設DCreation也是日期時間:

P.YKey BETWEEN YEAR(@BDate) 
      AND YEAR(@eDate) 
    AND cast(P.DCreation as date) BETWEEN cast(@BDate as date) 
           AND cast(@eDate as date) 
相關問題