. .

6.7: MySQL

» PHP » MySQL » MySQL

, , .

expr LIKE pat [ESCAPE "escape-char"]

, SQL. 1 (TRUE) (FALSE). LIKE ( 6.2):

6.2. like MySQL

%
_
mysql> select "David! LIKE "David_";
    -> 1
mysql> select "David!" LIKE "%D%v%";
    -> 1

, escape. ESCAPE, \:

mysql> select "David!" LIKE "David\_";
    -> 0
mysql> select "David_" LIKE "David\_";
    -> 1

escape, ESCAPE:

mysql> select "David_" LIKE "David|_" ESCAPE "|";
    -> 1

, :

mysql> select "abc" LIKE "ABC";
    -> 1
mysql> SELECT "abc" LIKE BINARY "ABC";
    -> 0

LIKE ! MySQL- ANSI SQL LIKE:

mysql> select 10 LIKE "1%";
    -> 1

MySQL -escape (, \n), \, LIKE. , \n, \\n. \ \\\\ ( , , , ).


expr NOT LIKE pat [ESCAPE "escape-char"]

NOT (expr LIKE pat [ESCAPE "escape-char"]).


expr REGEXP pat expr RLIKE pat

expr pat. . 6. MySQL. 1, expr pat, 0.

RLIKE REGEXP, mSQL. MySQL 3.23.4, REGEXP ( ) :

mysql> select "Monty!" REGEXP "m%y%%";
    -> 0
mysql> select "Monty!" REGEXP ".*";
    -> 1
mysql> select "new**line" REGEXP "new\*.\*line";
    -> 1
mysql> select REGEXP , REGEXP BINARY ;
    -> 1   0
mysql> select REGEXP ^[a-d];
    -> 1

REGEXP RLIKE ( ISO-8859-1 Latin1).


expr NOT REGEXP pat expr NOT RLIKE pat

NOT (expr REGEXP pat).


STRCMP(expr1,expr2)

STRCMP() 0, , -1, , , , 1 :

mysql> select STRCMP("text", "text2);
    -> -1
mysql> select STRCMP("text2", "text");
    -> 1
mysql> select STRCMP("text", "text");
    -> 0

MATCH (col1,col2,...) AGAINST (expr)

MATCH ... AGAINST() ( ), (l1,l2,...) expr.

. . MATCH ... AGAINST() FULLTEXT. 7. CREATE TABLE. MATCH ... AGAINST() MySQL 3.23.23 . 9. MySQL.