Sql server: need to escape [

escapingsqlsql server

I need to escape [ in an sql query for SQL Server

select * from sometable where name like '[something]';

I actually am looking for a [ before something and I don't want it to act like a wildcard. I tried :

select * from sometable where name like ''[something]';

But get error message from this:

Msg 102, Level 15, State 1, Line 1 Incorrect syntax near 'something'.
Msg 105, Level 15, State 1, Line 1 Unclosed quotation mark after the
character string ';

Best Answer

Use:

select * from sometable where name like '[[]something[]]';

you may use as well:

select * from sometable where name like '\[something\]' escape '\';

Described in LIKE (Transact-SQL) on MSDN.