使用FORMAT函数的查询中的参数

时间:2016-02-26 14:31:52

标签: c# sql ms-access

我的查询中的WHERE子句类似于

WHERE (FORMAT([salesdate], "yyyy") = @year;

然后我添加了参数@year,如下所示:

myCommand.Parameters.Add(new OleDbParameter("@year", (year)));

它应根据所选年份过滤具有销售日期的记录。但它什么也没有回报。我确信我的变量年份是正确的。我也确定Parameter.Add位于正确的位置。

我也在MS Access上尝试了相同的查询,并为参数输入了值,然后就可以了。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

请改为尝试:

WHERE DATEPART(YEAR, [salesdate]) = @year;

添加参数的方法有所不同,您可以尝试与DATEPART结合使用:

myCommand.Parameters.Add("@year", OleDbType.Integer).Value = year;