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

 
     
    