转换失败时转换为nvarchar成int
问题描述:
我收到上述错误谁能请帮助什么是代码中的问题...转换失败时转换为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) +''''
答
什么是@BDate,@eDate的类型?
更新: 由于两个变量的类型是DATETIME,转换不是必需的。
P.YKey BETWEEN YEAR(@BDate)
AND YEAR(@eDate)
AND P.DCreation BETWEEN @BDate
AND @eDate
答
,因为它似乎是你有兴趣的创建日期而已,还不是时候,我也投了日期时间日期。所以假设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)
DateTime @zhang – Rashi