• if you put OR in place of AND (Col1 <> 'X' or Col2<> '-99'), you will get same result from both the Sql

    create table #temp (id int,col1 varchar(30),col2 varchar(30))

    insert into #temp(id,col1,col2)

    select 1,'A','-99'

    union all

    select 2,'B','10'

    union all

    select 3,'X','-99'

    union all

    select 4,'Z','-99'

    union all

    select 5,'X','-99'

    DECLARE @IncludeUnavailableBookings VARCHAR(1)

    SET @IncludeUnavailableBookings = 'N'

    select * from #temp where @IncludeUnavailableBookings = 'N' AND (Col1 <> 'X' or Col2<> '-99')

    select * from #temp where @IncludeUnavailableBookings = 'N' AND (Col1+CONVERT(VARCHAR(20),Col2) <> 'X-99')