Jef*_*eff 0 sql sql-server stored-procedures
我正在尝试执行以下操作:
EXECUTE sp_executesql
N'SELECT TOP 10 * FROM dbo.Items WHERE DateCreated BETWEEN @start AND @end'
, N'@start DATETIME, @end DATETIME'
, @start = '20091001'
, @end = GETDATE() --problem is caused by this line
Error:
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ')'.
Run Code Online (Sandbox Code Playgroud)
我需要操纵日期并将其作为参数传递,即一周的星期一,一年中的一个月等等.它甚至可能吗?
谢谢.
你需要声明一个变量,我认为使用函数有问题:
DECLARE @endDate as datetime
SET @endDate = GETDATE()
EXECUTE sp_executesql
N'SELECT TOP 10 * FROM dbo.Items WHERE DateCreated BETWEEN @start AND @end'
, N'@start DATETIME, @end DATETIME'
, @start = '20091001'
, @end = @endDate
Run Code Online (Sandbox Code Playgroud)