我将日期存储在db中,如下面的代码
convert(varchar(10),GETDATE(),105)
现在我需要搜索值
ALTER PROCEDURE spr_tb_sales
@to_date date,
@from_date date
AS
BEGIN
SELECT *
FROM tb_sales_
WHERE [Sales Date] BETWEEN @from_date AND @to_date
END
如果我传入值01-01-2014和10-01-2014,则显示错误
Incorrect syntax near '-'.
我犯了错误。帮助我
答案 0 :(得分:0)
您将日期存储为varchar字段。这似乎不是一个好主意,我相信两者之间不会有用。您应该使用日期时间类型存储日期。让SQL决定如何存储它,您可以在显示时根据需要对其进行格式化。
答案 1 :(得分:-1)
我认为你所说的似乎是你错误地传递了日期。当您调用存储过程时,它应如下所示:
exec spr_tb_sales '01-01-2014', '10-01-2014'
我认为您可能会错过约会日期的引号,这会给您带来错误的错误' - '语法不正确。