Stored procedures 在存储过程SQL Server 2012中使用日期时间参数

Stored procedures 在存储过程SQL Server 2012中使用日期时间参数,stored-procedures,sql-server-2012,Stored Procedures,Sql Server 2012,我正在努力研究如何将datetime参数传递到存储过程中。这就是我正在研究的例子。我注释掉了变量的声明,因为如果我声明它们,执行时就不允许传递它们,但是如果我不声明它们,就不能执行它。请帮忙 --The Create Procedure Code CREATE PROCEDURE users.my_test AS --declare @startdatetime datetime = '03-20-2019' --declare @enddatetime

我正在努力研究如何将datetime参数传递到存储过程中。这就是我正在研究的例子。我注释掉了变量的声明,因为如果我声明它们,执行时就不允许传递它们,但是如果我不声明它们,就不能执行它。请帮忙

    --The Create Procedure Code
    CREATE PROCEDURE users.my_test
    AS

    --declare @startdatetime datetime = '03-20-2019'
    --declare @enddatetime datetime = '05-20-2019'
    SELECT datediff(mi,@startdatetime,@enddatetime)
    GO

    --The execution Code
    exec users.my_test
    @startdatetime = '03-31-2019', @enddatetime = '07/03/2019'
    GO

您可以像这样添加参数

CREATE PROCEDURE users.my_test
 @startdatetime datetime ,
 @enddatetime datetime 
AS

--declare @startdatetime datetime = '03-20-2019'
--declare @enddatetime datetime = '05-20-2019'
SELECT datediff(mi,@startdatetime,@enddatetime)
GO

这里要做的是为存储过程定义两个内部变量——它们不是调用过程时可以设置的参数!参数必须在存储过程名称之后声明,并带有前导的
@