我写了一个实际搜索记录的程序。当我执行它时,它给出了一个错误,上面写着:
从字符串转换日期和/或时间时转换失败。
陈述:
((CONVERT(varchar, DATEPART(YYYY, Tbl_Contract.ContractDate), 101)) = @Year or @Year = '')
我写了一个实际搜索记录的程序。当我执行它时,它给出了一个错误,上面写着:
从字符串转换日期和/或时间时转换失败。
陈述:
((CONVERT(varchar, DATEPART(YYYY, Tbl_Contract.ContractDate), 101)) = @Year or @Year = '')
您似乎正在将日期转换为年份值:
DATEPART(YYYY,@ContractDate)
然后尝试将其转换回日期:
CONVERT(varchar, DATEPART(YYYY, @ContractDate),101)
你可以试试这个:编辑
datepart(yyyy, CONVERT(datetime, @ContractDate))
因为ContractDate
是 aVarchar
你可以directly
用
SubString(ContractDate, x, 4) = @YearString
或者你可以封装条件
Case when IsDate(ContractDate) = 1
then ((CONVERT(varchar, DATEPART(YYYY, @a), 101)))
else NULL
end