如何在 SQL Server 中的存储进程中使用 between



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

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 @to_date AND @from_date
END

我传递了两个值01-01-201410-01-2014。在我的表格中也采用相同的格式。

问题是它没有选择值。我的错误在哪里?

SQL 中的运算符BETWEEN具有以下语法:

test_expression [ NOT ] BETWEEN begin_expression AND end_expression

由于begin_expression需要排在第一位,因此您必须切换from_dateto_date的顺序:

SELECT * FROM tb_sales_entry_total_product WHERE [Sales Date] BETWEEN @from_date AND @to_date 

切换它们

WHERE [Sales Date] BETWEEN  @from_date AND @to_date

使用SQL格式。

DATE_FORMAT(colName,\'%d/%m/%Y\') AS colName

您可以使用所需的格式.. 链接

最新更新