paran
paran

Reputation: 199

Unknown 'like' in MySQL query

My database:

+------------+
| Number     |
+------------+
| 8883277777 |
+------------+
| 8883555354 |
+------------+
| 8181888867 |
+------------+
| 8881143185 |
+------------+

When we do:

SELECT * FROM numbers WHERE Number LIKE "88%"

It will result:

8883277777, 8883555354, 8881143185


When we do:

SELECT * FROM numbers WHERE Number LIKE "%88%"

It will result:

8181888867


When we do:

SELECT * FROM numbers WHERE Number LIKE "%77%"

It will result:

8883277777



What should be the query for fetching %yyyy%?

Where y = any number (0/1/2/3/4/5/6/8/9).

The result will be:

8883277777, 8181888867

Upvotes: 2

Views: 100

Answers (2)

MyLibary
MyLibary

Reputation: 1771

It seems like you're after regex, you can use the following query:

SELECT 
    *
FROM
    numbers
WHERE
    Number REGEXP '(0{4}|1{4}|2{4}|3{4}|4{4}|5{4}|6{4}|7{4}|8{4}|9{4})'

Is that what are you looking for?

Upvotes: 4

ScaisEdge
ScaisEdge

Reputation: 133370

You could try using OR

    SELECT * 
    FROM numbers 
    WHERE Number LIKE "%0000%"
    OR Number LIKE "%1111%"
    OR Number LIKE "%2222%"
    OR Number LIKE "%3333%"
    OR Number LIKE "%4444%"
    OR Number LIKE "%5555%"
    OR Number LIKE "%6666%"
    OR Number LIKE "%7777%"
    OR Number LIKE "%8888%"     
    OR Number LIKE "%9999%" 

Upvotes: 2

Related Questions