繁体   English   中英

从字符串转换日期和/或时间时转换失败

[英]Conversion failed when converting date and/or time from character string

我写了一个实际搜索记录的程序。 当我执行它时,它给出了一个错误,它说:

从字符串转换日期和/或时间时转换失败。

陈述:

((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))

由于ContractDateVarchar您可以directly使用

SubString(ContractDate, x, 4) = @YearString 

或者你可以封装条件

Case when IsDate(ContractDate) = 1 
      then ((CONVERT(varchar, DATEPART(YYYY, @a), 101))) 
      else NULL 
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM