create proc dbo.GetList
(
@.OrgList varchar(1000),
@.startDateTime datetime
)
as
begin
declare @.SQL varchar(1000)
set @.SQL = 'Select A.TransactionID,
A.PermitId,
A.IssuingOrganizationId,
A.VehicleId
From Vehicle A WITH (NOLOCK)
join PurchasingCompany B WITH (NOLOCK)
on A.PurchasingCompanyId = B.PurchasingCompanyId
Where
A.IssueDate >= '+ '@.startDateTime' +' And
A.IssuingOrganizationId IN ('+ @.OrgList+')'
exec(@.sql)
end
go
This doesn't work, But If I substitute@.startDateTime with '2/1/2004', it works. I think iam missing some formatting, I tried several ways to make it work. Could anyone tell me how I should do this.
You are including the literal "@.StartDateTime", which is clearly not what you want.
create proc dbo.GetList
(
@.OrgList varchar(1000),
@.startDateTime datetime
)
as
begin
Look at the BOL article on CONVERT to determine what format is right for you - I am using the ODBC canonical format.
declare @.SQL varchar(1000)
set @.SQL = 'Select A.TransactionID,
A.PermitId,
A.IssuingOrganizationId,
A.VehicleId
From Vehicle A WITH (NOLOCK)
join PurchasingCompany B WITH (NOLOCK)
on A.PurchasingCompanyId = B.PurchasingCompanyId
Where
A.IssueDate >= '''+ CONVERT(nvarchar(30),@.startDateTime,120) +''' And
A.IssuingOrganizationId IN ('+ @.OrgList+')'
exec(@.sql)
end
go
No comments:
Post a Comment