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

Hap*_*ppy -1 t-sql sql-server

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

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
Run Code Online (Sandbox Code Playgroud)

如果我传入值01-12-2013并且10-01-2014(在我的表中数据也是相同的格式),它不会返回我期望的行.

如果我传入值01-01-201410-01-2014返回我期望的行.

Gor*_*off 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;
Run Code Online (Sandbox Code Playgroud)

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