This article has been dead for over three months
You
Create PROCEDURE [dbo].[pr_AgeFiltering]
(
@ageFrom int = NULL,
@ageTo int = NULL
)
AS
DECLARE @sql varchar(2000)
SELECT @sql = 'SELECT CONVERT(VARCHAR, [User].USER_NAME, 120) AS NAME, CONVERT(VARCHAR, [User].DOB, 120) AS DOB, (DATEDIFF(dd, [User].DOB, GetDate()) / 365) AS Age FROM [User] WHERE 1=1 '
-- Set the Lower limit for age (optional)
IF ( @ageFrom IS NOT NULL AND @ageFrom > 0 )
SELECT @sql = @sql + ' AND (DATEDIFF(dd, [User].DOB, GetDate()) / 365) > = ' + CONVERT(varchar(10),@ageFrom)
--Set the upper limit for age (optional)
IF ( @ageTo IS NOT NULL AND @ageTo > 0 )
SELECT @sql = @sql + ' AND (DATEDIFF(dd, [User].DOB, GetDate()) / 365) < = ' + CONVERT(varchar(10),@ageTo
--Execute the SQL query
EXEC(@sql)
RETURN