Sure,
this is a valid approach, but in reality I have many columns (I put only 2
to help you understand my question better) - so an IF ... ELSE approach will
generate many code pages :).
Thanks,
Catalin
----- Original Message -----
From: "Jonas Skafte Jensen" <jskaftejensen@h...>
To: "sql language" <sql_language@p...>
Sent: Monday, January 13, 2003 8:24 PM
Subject: [sql_language] Re: Query filter
> My version:
>
> DECLARE @Filter NVARCHAR
> DECLARE @Column BIT
>
> SELECT @Column = 0
> SELECT @Filter = '3'
> IF @Column = 1
> BEGIN
> SELECT * FROM Table1 WHERE ColumnB LIKE '%' + @Filter + '%'
> END
> ELSE
> BEGIN
> SELECT * FROM Table1 WHERE CAST(ColumnA AS NVARCHAR) LIKE '%' + @Filter
+
> '%'
> END
>
> ----- Original Message -----
> From: "Catalin Ignat" <cignat@s...>
> To: "sql language" <sql_language@p...>
> Sent: Monday, January 13, 2003 6:44 PM
> Subject: [sql_language] Query filter
>
>
> > Hello,
> >
> > For a select query I have 2 columns which I can use for filtering:
column
> A
> > is int and column B is varchar.
> > Into a stored procedure I receive:
> > @Filter - the filter string, this is varchar.
> > @Column - flag indicating the column which I want to use for
> filtering,
> > this is bit.
> >
> > Well, how can I put all this into one select, using some CASE command?
> > To be more explicit, this is what I have tried:
> > SELECT * FROM Table1 WHERE CASE @Column WHEN 0 THEN ColumnA ELSE B
END
> > LIKE @Filter
> >
> > This is not working.
> >
> > Thanks,
> > Catalin
> >
> >
> >
>