I want to write a function, which accept 3 parameters, 1 TableName 2 ColumnName 3 DateValue,
and returns number of records in that table for that particular date(in parameter date),
I have written below function but it is not returning the desired result, can anyone help me.CREATE FUNCTION dbo.[f_Rec_cnt]
(@InTableName NVARCHAR(100),
@InDtColName NVARCHAR(50),
@InDate NVARCHAR(50)
)
RETURNS INT
AS
BEGIN
DECLARE @vRowCnt NVARCHAR(50)
DECLARE @vTableName NVARCHAR(150)
DECLARE @vDtColName NVARCHAR(50)
DECLARE @vInDate NVARCHAR(50)
DECLARE @vSql NVARCHAR(500)
SELECT @vTableName=@InTableName,@vDtColName=@InDtColName,@vInDate=@InDate
SELECT @vInDate=''''+CAST(@InDate AS NVARCHAR)+''''
SELECT @vSql='SELECT @vRowCnt = COUNT(*) FROM '+@vTableName+' WHERE '+@vDtColName+'='+@vInDate
EXECUTE SP_EXECUTESQL @vSql
RETURN (CAST(@vRowCnt AS INT))
END
↧
Dynamic Function
↧