存储过程:如果传递的参数为空,则分配日期
Stored procedure : assign date if passed parameters are null
当传递的参数为空时,我正在尝试为存储过程赋值。
如果startDate或endDate为null,我想给它们赋值
喜欢
@StartDate = '1990-01-01'
@EndDate = DATEADD(YEARS, 30, GETDATE()) -- 30 years from now.
我该怎么做?
CREATE OR ALTER PROCEDURE dbo.GetByProductID
(
@ProductID INT,
@StartDate DATETIME = NULL
@EndDate DATETIME = NULL
)
AS
SELECT ProductId, Name, InsertedDate, UpdatedDate
FROM Products
WHERE ProductId = @ProductID
AND InsertedDate > @startDate
AND UpdatedDate < @EndDate
CREATE OR ALTER PROCEDURE dbo.GetByProductID
(
@ProductID INT,
@StartDate DATETIME = NULL
@EndDate DATETIME = NULL
)
AS
set @StartDate = coalesce(@StartDate,'1990-01-01')
set @EndDate = coalesce(@EndDate,DATEADD(YEARS, 30, GETDATE())) -- 30 years from now.
SELECT ProductId, Name, InsertedDate, UpdatedDate
FROM Products
WHERE ProductId = @ProductID
AND InsertedDate > @startDate
AND UpdatedDate < @EndDate
当传递的参数为空时,我正在尝试为存储过程赋值。
如果startDate或endDate为null,我想给它们赋值
喜欢
@StartDate = '1990-01-01'
@EndDate = DATEADD(YEARS, 30, GETDATE()) -- 30 years from now.
我该怎么做?
CREATE OR ALTER PROCEDURE dbo.GetByProductID
(
@ProductID INT,
@StartDate DATETIME = NULL
@EndDate DATETIME = NULL
)
AS
SELECT ProductId, Name, InsertedDate, UpdatedDate
FROM Products
WHERE ProductId = @ProductID
AND InsertedDate > @startDate
AND UpdatedDate < @EndDate
CREATE OR ALTER PROCEDURE dbo.GetByProductID
(
@ProductID INT,
@StartDate DATETIME = NULL
@EndDate DATETIME = NULL
)
AS
set @StartDate = coalesce(@StartDate,'1990-01-01')
set @EndDate = coalesce(@EndDate,DATEADD(YEARS, 30, GETDATE())) -- 30 years from now.
SELECT ProductId, Name, InsertedDate, UpdatedDate
FROM Products
WHERE ProductId = @ProductID
AND InsertedDate > @startDate
AND UpdatedDate < @EndDate