Escape percentage sign DB2 SQL

15,261

Use @% with the escape character clause:

select *
from tbl
where fld like '%@%%' escape '@'

This will search for all records that contain the "%" character in the fld column.

DB2/z has a slightly different format:

select *
from tbl
where fld like {escape '@'} '%@%%'

Obviously, you'll need to choose your escape character carefully so it won't interfere with the rest of your string but this is relatively easy for static strings. Dynamically built strings will require dynamically built queries so that it doesn't use a character from the string.

Share:
15,261
nearly_lunchtime
Author by

nearly_lunchtime

Updated on June 25, 2022

Comments

  • nearly_lunchtime
    nearly_lunchtime almost 2 years

    I am trying to select data containing four percentage signs in a row. How can I escape the percentage signs so my LIKE condition works?

    Thanks

  • Amit Patil
    Amit Patil about 15 years
    You can choose any escape character as long as you double it up any time you use it literally in the LIKE string. LIKE '...' ESCAPE '...' is standard in ANSI SQL92.