Click here to Skip to main content
15,893,487 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Please Help me immediately bro....

SQL
ALTER PROCEDURE [dbo].[csp_Objekt_GetAllObjekts]      
(                                            
		@StreetNo int,                -- Search option 		
		@FirstRow Int,						      -- Starting Row Number
		@LastRow Int,							  -- Ending Row Number
		@SortColumn varchar(30),				  -- Sort Column Name
		@SortOrder varchar(4)					  -- Sort Direction (ASC/DESC)
)

AS
SET NOCOUNT ON
DECLARE @OrderBy varchar(40)

-- Setting Sort Column and Sort Order null for empty value
IF @SortColumn IS NULL
SET @SortColumn=ISNULL(@SortColumn,'')
IF @SortOrder IS NULL
SET @SortOrder=ISNULL(@SortOrder,'')

-- Combining Sort Column and Sort order
SET @OrderBy=@SortColumn+@SortOrder

SELECT * FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY

-- Sorting StreetNo as Ascending order
CASE
WHEN @OrderBy = 'StreetNoASC' THEN StreetNo
END ASC,
-- Sorting StreetNo as Descending order
CASE
WHEN @OrderBy = 'StreetNoDESC' THEN StreetNo
END DESC,

-- Default Sorting by ObjektName
CASE
WHEN @OrderBy = '' THEN ObjektName
END ASC
) AS RowNum,

COUNT (*) OVER () AS TotalObjekts,

ObjektId,
ObjektName,
Street,
StreetNo,
Land,
PLZ,
Ort,
CreatedDate,
IsContactPerson,
IsDocument,
IsPhoto,
Notice
FROM
Objekt WITH(NOLOCK)
WHERE
-- Filtering StreetNo      
(@StreetNo IS NULL OR @StreetNo = 0 OR StreetNo LIKE @StreetNo + '%')

)AS ObjektsData
WHERE RowNum >=@FirstRow AND RowNum<=@LastRow -- Taking only the given range records
SET NOCOUNT OFF
Posted
Updated 11-May-14 7:00am
v3
Comments
CHill60 11-May-14 13:01pm    
For information, I have struck out the "immediately" ... we're all volunteers here who try to help so however urgent it might be for you, it isn't to us. You will get better responses without words like "immediately" and "urgent" etc
Nelek 11-May-14 13:03pm    
In addition to Chill's comment, I recommend you to read: Some guidelines for posting questions in the forums[^]
CHill60 11-May-14 13:11pm    
And once you've applied the fix posted by DamithSL you might want to check that WHERE clause again ... you probably want (StreetNo IS NULL OR StreetNo = 0 - i.e. test against the table column not the local variable.

1 solution

you need to use cast as below
SQL
(@StreetNo IS NULL OR @StreetNo = 0 OR StreetNo LIKE cast(@StreetNo as varchar(10)) + '%')

check this SQL Fiddle[^]
 
Share this answer
 
v3
Comments
CHill60 11-May-14 13:11pm    
Beat me to it! 5'd
DamithSL 11-May-14 13:15pm    
Thanks Chill ;)
Manas Bhardwaj 11-May-14 14:08pm    
Yes +5!
DamithSL 11-May-14 14:11pm    
Hi Manas, Thank you!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900