Some articles I found on the internet compared ISNULL with COALESCE, so I think my question is a little different.
I'm wondering which is better in terms of performance?
SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
Or
SELECT * FROM mytable WHERE COALESCE(mycolumn,'') <> '';
Other than performance, are there any other concerns I should consider when deciding?
EDIT:
I'm using Teradata.
This version is slightly more sargable and allows an index to be (potentially) used
SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
It can be simplified to
SELECT * FROM mytable WHERE mycolumn <> '';
The reason why I say "slightly" and "potentially" is that the non equality predicate may well mean you end up with a full scan anyway.