存储过程日期参数不适用于强制转换

时间:2017-03-14 10:02:10

标签: sql-server tsql

我有一个带参数的存储过程:

"user" : "auth0|5845e0a768022a5112b0d51c",
"provider" : "fitbit",
"data" : {
    "activities-steps-intraday" : {
        "datasetType" : "minute",
        "datasetInterval" : 1}
}})

我的问题是,为什么这样做:

ANDROID_SDK_HOME

但这不起作用(它给我带来语法错误):

CREATE PROCEDURE [dbo].[sp_SCOPRO_HLP] (                            
  @dDateFrom DATE = NULL
, @dDateTo DATE = NULL                        
)
AS
-- rest of procedure

语法错误:

enter image description here

1 个答案:

答案 0 :(得分:3)

关注https://connect.microsoft.com/SQLServer/feedback/details/352110/t-sql-use-scalar-functions-as-stored-procedure-parameters

您无法使用参数等功能。

SQL社区的所有成员都同意接受的形式应该是 - 代码少,可读性好。

所以你能做的最好的事情是:

DECLARE @dateFromDate = cast('2017-01-01' as date)
DECLARE @dateFromTo = cast('2017-01-31' as date)

EXEC sp_SCOPRO_HLP 
  @dDateFrom = @dateFromDate
, @dDateTo = @dateFromTo