MySQL select from text column with specification
up vote
1
down vote
favorite
I would like to query a database which is MySQL 5.
Let's say database name is db
and the table name is table
and the column name is column
and that column is a text
containing the following for example:
aksksksksjsjk&ct=100&lor=10
aksksksksjsjk&ct=1001001001001001&lor=10
So i would like to query that table and grep only where ct
start with number 1
and it's 16
numbers.
I tried with SELECT column FROM db.table WHERE column LIKE '%ct=1%'
so it's gonna grep where ct
start with number 1
so kindly try to help me to proceed with select ct
when start with number 1
and contain 16 numbers
mysql sql regex
New contributor
add a comment |
up vote
1
down vote
favorite
I would like to query a database which is MySQL 5.
Let's say database name is db
and the table name is table
and the column name is column
and that column is a text
containing the following for example:
aksksksksjsjk&ct=100&lor=10
aksksksksjsjk&ct=1001001001001001&lor=10
So i would like to query that table and grep only where ct
start with number 1
and it's 16
numbers.
I tried with SELECT column FROM db.table WHERE column LIKE '%ct=1%'
so it's gonna grep where ct
start with number 1
so kindly try to help me to proceed with select ct
when start with number 1
and contain 16 numbers
mysql sql regex
New contributor
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I would like to query a database which is MySQL 5.
Let's say database name is db
and the table name is table
and the column name is column
and that column is a text
containing the following for example:
aksksksksjsjk&ct=100&lor=10
aksksksksjsjk&ct=1001001001001001&lor=10
So i would like to query that table and grep only where ct
start with number 1
and it's 16
numbers.
I tried with SELECT column FROM db.table WHERE column LIKE '%ct=1%'
so it's gonna grep where ct
start with number 1
so kindly try to help me to proceed with select ct
when start with number 1
and contain 16 numbers
mysql sql regex
New contributor
I would like to query a database which is MySQL 5.
Let's say database name is db
and the table name is table
and the column name is column
and that column is a text
containing the following for example:
aksksksksjsjk&ct=100&lor=10
aksksksksjsjk&ct=1001001001001001&lor=10
So i would like to query that table and grep only where ct
start with number 1
and it's 16
numbers.
I tried with SELECT column FROM db.table WHERE column LIKE '%ct=1%'
so it's gonna grep where ct
start with number 1
so kindly try to help me to proceed with select ct
when start with number 1
and contain 16 numbers
mysql sql regex
mysql sql regex
New contributor
New contributor
New contributor
asked 2 days ago
Doumer Issac
82
82
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
In its basic form, you might want to use
SELECT column FROM db.table WHERE column REGEXP BINARY 'ct=1[0-9]{15}'
Or, to match as a whole word:
SELECT column FROM db.table WHERE column REGEXP BINARY '[[:<:]]ct=1[0-9]{15}[[:>:]]'
Note that [0-9]{15}
matches 15 digits.
The BINARY
keyword will make matching case sensitive, so only ct
will get matched and CT
won't. Remove it if you need to keep the regex case insensitive.
The [[:<:]]
matches the left-hand (starting) word boundary and [[:>:]]
matches the trailing (end) word boundary.
Thank you so much. it's work. mind if i asked you another question? in case if the same text includeexp=0918
so are there's way to selectexp
bigger than0918
?
– Doumer Issac
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
In its basic form, you might want to use
SELECT column FROM db.table WHERE column REGEXP BINARY 'ct=1[0-9]{15}'
Or, to match as a whole word:
SELECT column FROM db.table WHERE column REGEXP BINARY '[[:<:]]ct=1[0-9]{15}[[:>:]]'
Note that [0-9]{15}
matches 15 digits.
The BINARY
keyword will make matching case sensitive, so only ct
will get matched and CT
won't. Remove it if you need to keep the regex case insensitive.
The [[:<:]]
matches the left-hand (starting) word boundary and [[:>:]]
matches the trailing (end) word boundary.
Thank you so much. it's work. mind if i asked you another question? in case if the same text includeexp=0918
so are there's way to selectexp
bigger than0918
?
– Doumer Issac
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
add a comment |
up vote
1
down vote
accepted
In its basic form, you might want to use
SELECT column FROM db.table WHERE column REGEXP BINARY 'ct=1[0-9]{15}'
Or, to match as a whole word:
SELECT column FROM db.table WHERE column REGEXP BINARY '[[:<:]]ct=1[0-9]{15}[[:>:]]'
Note that [0-9]{15}
matches 15 digits.
The BINARY
keyword will make matching case sensitive, so only ct
will get matched and CT
won't. Remove it if you need to keep the regex case insensitive.
The [[:<:]]
matches the left-hand (starting) word boundary and [[:>:]]
matches the trailing (end) word boundary.
Thank you so much. it's work. mind if i asked you another question? in case if the same text includeexp=0918
so are there's way to selectexp
bigger than0918
?
– Doumer Issac
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
In its basic form, you might want to use
SELECT column FROM db.table WHERE column REGEXP BINARY 'ct=1[0-9]{15}'
Or, to match as a whole word:
SELECT column FROM db.table WHERE column REGEXP BINARY '[[:<:]]ct=1[0-9]{15}[[:>:]]'
Note that [0-9]{15}
matches 15 digits.
The BINARY
keyword will make matching case sensitive, so only ct
will get matched and CT
won't. Remove it if you need to keep the regex case insensitive.
The [[:<:]]
matches the left-hand (starting) word boundary and [[:>:]]
matches the trailing (end) word boundary.
In its basic form, you might want to use
SELECT column FROM db.table WHERE column REGEXP BINARY 'ct=1[0-9]{15}'
Or, to match as a whole word:
SELECT column FROM db.table WHERE column REGEXP BINARY '[[:<:]]ct=1[0-9]{15}[[:>:]]'
Note that [0-9]{15}
matches 15 digits.
The BINARY
keyword will make matching case sensitive, so only ct
will get matched and CT
won't. Remove it if you need to keep the regex case insensitive.
The [[:<:]]
matches the left-hand (starting) word boundary and [[:>:]]
matches the trailing (end) word boundary.
answered 2 days ago
Wiktor Stribiżew
298k16119193
298k16119193
Thank you so much. it's work. mind if i asked you another question? in case if the same text includeexp=0918
so are there's way to selectexp
bigger than0918
?
– Doumer Issac
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
add a comment |
Thank you so much. it's work. mind if i asked you another question? in case if the same text includeexp=0918
so are there's way to selectexp
bigger than0918
?
– Doumer Issac
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
Thank you so much. it's work. mind if i asked you another question? in case if the same text include
exp=0918
so are there's way to select exp
bigger than 0918
?– Doumer Issac
2 days ago
Thank you so much. it's work. mind if i asked you another question? in case if the same text include
exp=0918
so are there's way to select exp
bigger than 0918
?– Doumer Issac
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try
0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
@DoumerIssac That is a complex topic. However, using the number range generator, you may try
0*(919|9[2-9][0-9]|[1-9][0-9]{3,})
– Wiktor Stribiżew
2 days ago
add a comment |
Doumer Issac is a new contributor. Be nice, and check out our Code of Conduct.
Doumer Issac is a new contributor. Be nice, and check out our Code of Conduct.
Doumer Issac is a new contributor. Be nice, and check out our Code of Conduct.
Doumer Issac is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203943%2fmysql-select-from-text-column-with-specification%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password