如何将日期传递到SQL Server存储过程

时间:2014-01-11 16:48:39

标签: sql-server tsql

我需要在存储过程中使用。这是我的代码

ALTER PROCEDURE sp_tb_sales_entry_total_product_where_date
    @to_date varchar(15),
    @from_date varchar(15)
AS
BEGIN
SELECT * 
    FROM tb_sales_entry_total_product 
    WHERE [Sales Date] BETWEEN @from_date AND  @to_date
END

如果我传入值01-12-201310-01-2014(在我的表中,数据也采用相同的格式),则不会返回我期望的行。

如果我传入值01-01-201410-01-2014,则会返回我期望的行。

1 个答案:

答案 0 :(得分:5)

如果您传递日期,则传递date

ALTER PROCEDURE sp_tb_sales_entry_total_product_where_date
  @to_date date,
  @from_date date
AS
BEGIN
    SELECT *
    FROM tb_sales_entry_total_product
    WHERE [Sales Date] BETWEEN @from_date AND  @to_date
END;

转换到调用存储过程的日期。