MySQL RegExp՝ միայն որոշակի քանակությամբ բառերով գրառումներ ստանալու համար
Դրա համար օգտագործեք Regular Expression MySQL-ում, ինչպես ստորև բերված շարահյուսության մեջ.
select * from yourTableName where yourColumnName regexp '\land[\land ]+[ ]+[\land ]+$';
Վերոնշյալ հարցումը կաշխատի, երբ երկու բառերը բաժանվեն բացատով: Եկեք նախ ստեղծենք աղյուսակ.
mysql> create table DemoTable1412
-> (
-> Name varchar(40)
-> );
Query OK, 0 rows affected (0.52 sec)
Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.
mysql> insert into DemoTable1412 values('John Adam Carol');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1412 values('Mike Sam');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1412 values('Chris James Robert');
Query OK, 1 row affected (0.15 sec)
Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.
mysql> select * from DemoTable1412;
Սա կստեղծի հետևյալ արդյունքը.
+--------------------+
| Name |
+--------------------+
| John Adam Carol |
| Mike Sam |
| Chris James Robert |
+--------------------+
3 rows in set (0.00 sec)
Ահա հարցումը ստուգելու համար, թե արդյոք որոշակի տող ունի երկու բառ, որոնք բաժանված են բացատով.
mysql> select * from DemoTable1412 where Name regexp '\land[\land ]+[ ]+[\land ]+$';
Սա կստեղծի հետևյալ արդյունքը.
+----------+
| Name |
+----------+
| Mike Sam |
+----------+
1 row in set (0.00 sec)