I am trying to handle null varible in dynamic sql query
query is as follows
DECLARE @_param_one VARCHAR(256)=NULL
DECLARE @_param_two VARCHAR(256)=''
DECLARE @SQLStr VARCHAR(MAX)
the below select statement is working as expected if it is not converted as a string
SELECT (SELECT CASE WHEN(COALESCE(@_param_one, '' ) = '') THEN 'WORKING' ELSE @_param_one END) AS [Param_One]
After converting to string and execute that string is not working as expected. The executed string is showing null.
SET @SQLStr='SELECT DISTINCT
Column_One,
Column_Two,
Column_Three
(SELECT CASE WHEN(COALESCE( '''+@_param_one+''', '''' ) = '''')
THEN Param_One ELSE '''+@_param_one+''' END) AS
[Param_One]
FROM Table_One AS [![enter image description here][1]][1]Tbl WHERE Tbl.Id=2'
select @SQLStr