'Gaps - how to show values with a specific symbol?
I have a column with numbers - 1,2,3...100. 5 of them looks like 1_, 3_, 5_ So, actually I have 1, 1_, 2, 3, 3_, 4, 5, 5_, 6, 7, 8 ... I did the query:
SELECT code
FROM table.column1
WHERE column1 LIKE '%_'
to get the list of this numbers with _. Instesd of it I got the list of all values, including values with _. What's your opinion - what's the reason, where is a mistake?
Solution 1:[1]
The character _
is, similar to %
, a wildcard in LIKE
-operations. While %
matches multiple characters, _
only matches a single character. To get your expected result you need to escape the _
character:
SELECT code
FROM table.column1
WHERE column1 LIKE '%\_'
Here is a dbfiddle showing it.
Solution 2:[2]
You use the "E" before the string to escape the symbol.
SELECT col1
FROM table1
WHERE col1 LIKE E'%\_';
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | flwd |
Solution 2 | Andronicus |