Want to become a Vibe Coder? Join Vibe Coding Training here
x
C# Corner
Tech
News
Videos
Forums
Jobs
Books
Events
More
Interviews
Live
Learn
Training
Career
Members
Blogs
Challenges
Certification
Contribute
Article
Blog
Video
Ebook
Interview Question
Collapse
Feed
Dashboard
Wallet
Learn
Achievements
Network
Refer
Rewards
SharpGPT
Premium
Contribute
Article
Blog
Video
Ebook
Interview Question
Register
Login
Multiple Search Dynamic SQL-Query
WhatsApp
Miku Kumar
Apr 19
2016
623
0
1
ALTER
PROCEDURE
[dbo].[Proc_Test]
--@Division= '''A'',''B'',''C'''
(
@
name
VARCHAR
(50) =
NULL
,
@hireDateFrom
VARCHAR
(50) =
NULL
,
@hireDateTo
VARCHAR
(50) =
NULL
,
@Country
VARCHAR
(50) =
NULL
,
@Salary
INT
=
NULL
,
@Division
VARCHAR
(50) =
NULL
)
AS
BEGIN
DECLARE
@WhrCls
VARCHAR
(5000)
SET
@WhrCls =
' WHERE 1=1 '
------------------------------------------------------------------------------------------
IF (
ISNULL
(@
name
,
''
) <>
''
)
BEGIN
SET
@WhrCls = @WhrCls +
'AND ISNULL(name,'
''
')='
''
+ @
name
+
''
''
END
------------------------------------------------------------------------------------------
IF (
ISNULL
(@hireDateFrom,
''
) <>
''
)
BEGIN
SET
@WhrCls = @WhrCls
+
'AND CONVERT(Date,CONVERT(VARCHAR,hireDate,1)) >= CONVERT(DATE,'
''
+ @hireDateFrom +
''
')'
END
------------------------------------------------------------------------------------------
IF (
ISNULL
(@hireDateTo,
''
) <>
''
)
BEGIN
SET
@WhrCls = @WhrCls
+
'AND CONVERT(Date,CONVERT(VARCHAR,hireDate,1)) <= CONVERT(DATE,'
''
+ @hireDateTo +
''
')'
END
------------------------------------------------------------------------------------------
IF (
ISNULL
(@Country,
''
) <>
''
)
BEGIN
SET
@WhrCls = @WhrCls +
'AND Country LIKE '
'%'
+ @Country
+
'%'
''
END
-------------------------------------------------------------------------------------------
IF (
ISNULL
(@Salary,
''
) <>
''
)
BEGIN
SET
@WhrCls = @WhrCls +
'AND ISNULL(Salary,'
''
')='
''
+ @Salary
+
''
''
END
-------------------------------------------------------------------------------------------
IF (
ISNULL
(@Division,
''
) <>
''
)
BEGIN
SET
@WhrCls = @WhrCls +
' AND Division IN('
+ @Division +
') '
END
-------------------------------------------------------------------------------------------
DECLARE
@Stmt
VARCHAR
(5000)
SET
@Stmt = '
SELECT
name
,
hireDate ,
CASE
WHEN
Country=
''
India
''
THEN
''
Hindustan
''
WHEN
Country=
''
UK
''
THEN
''
England
''
WHEN
Country=
''
USA
''
THEN
''
America
''
WHEN
Country=
''
Japan
''
THEN
''
Japanies
''
END
AS
[Country],
Division,
Salary
FROM
dbo.Tbl_Emp ' + @WhrCls
PRINT ( @Stmt )
EXEC
(@Stmt)
END
Multiple Search
Up Next
Multiple Search Dynamic SQL-Query