実際にレコードを検索する手順を書きました。実行すると、次のようなエラーが表示されます。
文字列から日時を変換する際に変換に失敗しました。
声明:
((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
するVarchar
ことができますdirectly
SubString(ContractDate, x, 4) = @YearString
または、条件をカプセル化できます
Case when IsDate(ContractDate) = 1
then ((CONVERT(varchar, DATEPART(YYYY, @a), 101)))
else NULL
end