Íàâèãàöèÿ

Ïîèñê ïî Ñàéòó

Ïàðòíåðû

Ñàìîó÷èòåëü. Êíèãè.

Ñòàòèñòèêà

Óðîê 6.6: Ñòðîêîâûå ôóíêöèè â MySQL

Ãëàâíàÿ Ñòðàíèöà » Êíèãè ïî PHP » MySQL óðîêè äëÿ íà÷èíàþùèõ ñ íóëÿ » Ñòðîêîâûå ôóíêöèè â MySQL

Ñòðîêîâûå ôóíêöèè âîçâðàùàþò NULL, åñëè äëèíà ðåçóëüòàòà áîëüøàÿ, ÷åì ïàðàìåòð ñåðâåðà max_allowed_packet.

Äëÿ ôóíêöèé, êîòîðûå îïåðèðóþò ïîçèöèÿìè â ñòðîêå, ïåðâàÿ ïîçèöèÿ âñåãäà ïðîíóìåðîâàíà êàê 1, à íå 0.


ASCII(str)

Âîçâðàùàåò ASCII-êîä êðàéíåãî ëåâîãî ñèìâîëà ñòðîêè str. Âåðíåò 0, åñëè str ïóñòàÿ. Âåðíåò NULL, åñëè str ðàâíà NULL:

mysql> select ASCII("2");
    -> 50.
mysql> select ASCII(2);
    ->50
mysql> select ASCII("dx");
    -> 100

ORD(str)

Åñëè êðàéíèé ëåâûé ñèìâîë ñòðîêè str ïðåäñòàâëÿåò ñîáîé ìíîãîáàéòíûé ñèìâîë, âîçâðàùàåò êîä ñèìâîëà, âîçâðàùàÿ ASCII-çíà÷åíèå êîäà ñèìâîëà â ôîðìàòå: ((ïåðâûé áàéò ASCII-êîäà)*256 + (âòîðîé áàéò ASCII-êîäà))[*256 + òðåòèé áàéò ASCII-êîäà +...]. Åñëè êðàéíèé ëåâûé ñèìâîë íå ÿâëÿåòñÿ ìíîãîáàéòíûì, äåéñòâóåò àíàëîãè÷íî ôóíêöèè ASCII():

mysql> select ORD("2");
    -> 50

(N, from_base, to_base).

Ïðåîáðàçîâûâàåò ÷èñëà ìåæäó ðàçëè÷íûìè ñèñòåìàìè ñ÷èñëåíèÿ. Âîçâðàùàåò ñòðîêîâîå ïðåäñòàâëåíèå ÷èñëà N, ïðåîáðàçîâàííîãî èç from_base â to_base. Âåðíåò NULL, åñëè ëþáîé ïàðàìåòð ðàâåí NULL.

Ïàðàìåòð N èíòåðïðåòèðóåòñÿ êàê öåëîå ÷èñëî, íî ìîæåò áûòü îïðåäåëåí êàê öåëîå ÷èñëî èëè ñòðîêà. Ìèíèìàëüíàÿ ñèñòåìà èñ÷èñëåíèÿ - 2, ìàêñèìàëüíàÿ - 36. Åñëè to_base - îòðèöàòåëüíîå çíà÷åíèå, N áóäåò ðàñöåíåíî êàê ÷èñëî ñî çíàêîì. Èíà÷å N îáðàáàòûâàåòñÿ êàê ÷èñëî áåç çíàêà. Âûçîâ CONV âñåãäà ðàáîòàåò ñ 64-ðàçðÿäíîé òî÷íîñòüþ:

mysql> select CONV(«a»,16,2);
    -> ”1010"
mysql> select CONV(«6E»,18,8);
    -> "172"
mysql> select C0NV(-17,10,-18);
    -> "-H"
mysql> select CONV(10+»10"+'10'+0xa,10,10);
    -> "40"

BIN(N)

Âîçâðàùàåò ñòðîêîâîå ïðåäñòàâëåíèå äâîè÷íîãî çíà÷åíèÿ N, ãäå N ïðåäñòàâëÿåò ñîáîé ÷èñëî òèïà longlong (BIGINT). Ýòî ýêâèâàëåíòíî CONV(N,10,2). Âîçâðàùàåò NULL, åñëè N ðàâíî NULL:

mysql> select BIN(12);
    -> “1100"

OCT(N)

Âîçâðàùàåò ñòðîêîâîå ïðåäñòàâëåíèå âîñüìåðè÷íîãî çíà÷åíèÿ N, ãäå N ïðåäñòàâëÿåò ñîáîé ÷èñëî òèïà longlong (BIGINT). Ýòî ýêâèâàëåíòíî C0NV(N,10,8). Âîçâðàùàåò NULL, åñëè N ðàâíî NULL:

mysql> select OCT(12);
    -> "14"

HEX(N)

Âîçâðàùàåò ñòðîêîâîå ïðåäñòàâëåíèå øåñòíàäöàòåðè÷íîãî çíà÷åíèÿ N, ãäå N ïðåäñòàâëÿåò ñîáîé ÷èñëî òèïà longlong (BIGINT). Ýòî ýêâèâàëåíòíî CONV (N,10,16). Âîçâðàùàåò NULL, åñëè N ðàâíî NULL:

mysql> select ÍÅÕ(255);
    -> "FF"

CHAR(N,. . .).

CHAR() èíòåðïðåòèðóþò ïàðàìåòðû êàê öåëûå ÷èñëà è âîçâðàùàåò ñòðîêó, ñîñòîÿùóþ èç ñèìâîëîâ, çàäàííûõ çíà÷åíèÿìè ASCII-êîäîâ èç òåõ öåëûõ ÷èñåë. Çíà÷åíèÿ NULL áóäóò ïðîïóùåíû:

mysql> select CHAR(77,121,83,81,'76');
    -> "MySQL"
mysql> select CHAR(77,77.3,'77.3');
    -> "ÌÌÌ"

CONCAT(str1,str2,...).

Âîçâðàùàåò ñòðîêó, êîòîðàÿ ñëåäóåò èç ñâÿçûâàíèÿ ïàðàìåòðîâ. Âîçâðàùàåò NULL, åñëè ëþáîé ïàðàìåòð NULL. Ìîæåò èìåòü áîëüøå, ÷åì 2 ïàðàìåòðà. ×èñëîâîé ïàðàìåòð áóäåò àâòîìàòè÷åñêè ïðåîáðàçîâàí â ýêâèâàëåíòíóþ ñòðîêîâóþ ôîðìó:

mysql> select CONCAT ("My", "S", “QL");
    -> "MySQL"
mysql> select CONCAT ("My", NULL, "QL");
    -> NULL
mysql> select CONCAT(14.3);
    -> '14.3'

CONCAT_WS(separator, str1, str2,...).

CONCAT_WS() ðàñøèôðîâûâàåòñÿ êàê CONCAT With Separator (ñëèÿíèå ñ ðàçäåëèòåëåì) è ïðåäñòàâëÿåò ñîáîé ñïåöèàëüíóþ ôîðìó ôóíêöèè CONCAT(). Ïåðâûé ïàðàìåòð çàäàåò ðàçäåëèòåëü äëÿ îñòàëüíîé ÷àñòè ïàðàìåòðîâ. Ðàçäåëèòåëü ìîæåò áûòü ñòðîêîé òàê æå, êàê è îñòàëüíàÿ ÷àñòü ïàðàìåòðîâ. Åñëè ðàçäåëèòåëü ðàâåí NULL, ðåçóëüòàò ïðåâðàòèòñÿ â NULL. Ðàçäåëèòåëü áóäåò äîáàâëåí ìåæäó ñòðîêàìè, êîòîðûå íóæíî îáúåäèíèòü â îäíó öåëóþ:

mysql> select CONCAT_WS(«,», «First name», «Second name», «Last Name»);
    -> "First name,Second name,Last Name"
mysql> select CONCAT_WS(«,»,«First name»,NULL,«Last Name»);
    -> "First name,Last Name"

LENGTH (str), OCTET_LENGTH(str), CHAR_LENGTH(str) è CHARACTER_LENGTH(str)

Âîçâðàùàþò äëèíó ñòðîêè str:

mysql> select LENGTH("text");
    -> 4
mysql> select OCTET_LENGTH("text");
    -> 4

Îáðàòèòå âíèìàíèå, ÷òî äëÿ CHAR_LENGTH() ëþáîé ìíîãîáàéòíûé ñèìâîë ñ÷èòàåòñÿ îäíèì.


LOCATE(substr,str), POSITION(substr IN str), LOCATE(substr,str) èëè POSITION(substr IN str)

Âîçâðàùàåò ïîçèöèþ ïåðâîãî ìåñòîíàõîæäåíèÿ ïîäñòðîêè substr â ñòðîêå str. Åñëè íå íàøëà substr â str, âåðíåò 0:

mysql> select LOCATE("bar", "foobarbar");
    -> 4
mysql> select LOCATE("xbar", "foobar");
    -> 0

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


LOCATE(substr,str,pos).

Âîçâðàùàåò ïîçèöèþ ïåðâîãî ìåñòîíàõîæäåíèÿ ïîäñòðîêè substr â ñòðîêå str, ïîñëå ïîçèöèè pos. Åñëè íå íàøëà substr â str, âåðíåò 0:

mysql> select LOCATE("bar", "foobarbar",5);
    -> 7

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


INSTR(str,substr)

Àíàëîã LOCATE(), íî ñ ïåðåñòàâëåííûìè ïàðàìåòðàìè:

mysql> select INSTR("foobarbar", "bar");
    -> 4
mysql> select INSTR("xbar", "foobar");
    -> 0

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


LPAD(str,len,padstr)

Âîçâðàùàåò ñòðîêó str, äîïîëíåííóþ ñëåâà ñòðîêîé padstr. Ìàêñèìàëüíàÿ äëèíà str ðàâíà len ñèìâîëàì. Åñëè str äëèííåå, ÷åì len, îíà áóäåò óðåçàíà äî len ñèìâîëîâ. Åñëè str êîðî÷å, ÷åì len ñèìâîëû, padstr áóäåò ïðèïèñàíà íåñêîëüêî ðàç.

mysql> select LPAD("hi",4,'??');
    -> "??hi"

RPAD (str,len,padstr)

Àíàëîãè÷íî LPAD(str,len,padstr), íî ñòðîêà padstr ïðèïèñûâàåòñÿ ñïðàâà.

mysql> select RPAD("hi",5,'?');
    -> "hi???"

LEFT(str,len)

Âîçâðàùàåò len êðàéíèõ ëåâûõ ñèìâîëîâ èç ñòðîêè str:

mysql> select LEFT(“foobarbar", 5);
    -> "fooba"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


RIGHT(str,len)

Âîçâðàùàåò len êðàéíèõ ïðàâûõ ñèìâîëîâ èç ñòðîêè str:

mysql> select RIGHT("foobarbar", 4);
    -> "rbar"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


SUBSTRING(str,pos,len), SUBSTRING(str FROM pos FOR len) èëè MID(str,pos,len)

Âîçâðàùàåò ïîäñòðîêó äëèíîé â len ñèìâîëîâ èç ñòðîêè str, íà÷èíàÿ ñ ïîçèöèè pos. Èíàÿ ôîðìà, êîòîðàÿ èñïîëüçóåò ñèíòàêñèñ FROM èç ANSI SQL92:

mysql> select SUBSTRING("Quadratically",5,6);
    -> "ratica"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


SUBSTRING(str,pos) èëè SUBSTRING(str FROM pos)

Âîçâðàùàåò ïîäñòðîêó èç ñòðîêè str, íà÷èíàÿ ñ ïîçèöèè pos:

mysql> select SUBSTRING("Quadratically",5);
    -> "ratically"
mysql> select SUBSTRING("foobarbar" FROM 4);
    -> "barbar"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


SUBSTRING_INDEX(str,delim,count)

Âîçâðàùàåò ïîäñòðîêó èç ñòðîêè str, îòñòóïèâ count ñèìâîëîâ îò ðàçäåëèòåëÿ delim. Åñëè count ïîëîæèòåëåí, âåðíóòñÿ âñå çíà÷åíèÿ ëåâåå ðàçäåëèòåëÿ. Åñëè count îòðèöàòåëåí, âåðíóòñÿ âñå çíà÷åíèÿ ïðàâåå çàäàííîãî ðàçäåëèòåëÿ:

mysql> select SUBSTRING_INDEX("www.mysql.com", ".", 2);
    -> "www.mysql"
mysql> select SUBSTRING_INDEX(www.mysql.com", ".", -2);
    -> "mysql.com"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


LTRIM(str)

Âîçâðàùàåò ñòðîêó str ñ óäàëåííûìè âåäóùèìè ïðîáåëàìè:

mysql> select LTRIM(" barbar");
    -> "barbar"

RTRIM(str)

Âîçâðàùàåò ñòðîêó str ñ óäàëåííûìè êîíå÷íûìè ïðîáåëàìè:

mysql> select RTRIM("barbar ");
    -> "barbar"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


TRIM([[BOTH|LEADING|TRAILING] [remstr] FROM] str)

Âîçâðàùàåò ñòðîêó str, èç êîòîðîé óäàëåíû âñå ïðåôèêñû è ñóôôèêñû remstr. Åñëè íè îäèí èç ñïåöèôèêàòîðîâ BOTH, LEADING èëè TRAILING íå çàäàí, ïðèíèìàåòñÿ BOTH. Åñëè íå çàäàí ïàðàìåòð remstr, áóäóò óäàëåíû ïðîáåëû. Ïàðàìåòð LEADING îïðåäåëÿåò ïðåôèêñû, TRAILING ñóôôèêñû, a BOTH âñå ñðàçó:

mysql> select TRIM(" bar ");
    -> "bar"
mysql> select TRIM(LEADING "x" FROM "xxxbarxxx");
    -> "barxxx'
mysql> select TRIM(BOTH "x" FROM "xxxbarxxx");
    -> "bar"
mysql> select TRIM(TRAILING "xyz" FROM "barxxyz");
    -> "barx"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


SOUNDEX(str)

Âîçâðàùàåò soundex-ñòðîêó èç ñòðîêè str. Ýòî íåêèé ïîäâèä êîäèðîâêè ñòðîê, â îáùåì ïðèãîäíûé äëÿ ïðîâåðêè ñõîäñòâà äàííûõ. Äâå ñòðîêè, êîòîðûå çâó÷àò ïî÷òè îäèíàêîâî, äîëæíû èìåòü èäåíòè÷íûå soundex-ñòðîêè.

Ñòàíäàðòíàÿ soundex-ñòðîêà â äëèíó ñîñòàâëÿåò 4 ñèìâîëà, íî ôóíêöèÿ SOUNDEX() âîçâðàùàåò ïðîèçâîëüíî äëèííóþ ñòðîêó. Âû ìîæåòå èñïîëüçîâàòü SUBSTRING() íà ðåçóëüòàòå, ÷òîáû ïîëó÷èòü ñòàíäàðòíóþ soundex-ñòðîêó. Âñå íå àëôàâèòíî-öèôðîâûå ñèìâîëû èãíîðèðóþòñÿ â äàííîé ñòðîêå. Âñå ìåæäóíàðîäíûå àëôàâèòíûå ñèìâîëû âíå äèàïàçîíà A-Z îáðàáàòûâàþòñÿ êàê ãëàñíûå:

mysql> select SOUNDEX("Hello");
    -> "H400"
mysql> select SOUNDEX("Quadratically");
    -> "Q36324"

SPACE(N)

Âîçâðàùàåò ñòðîêó, ñîñòîÿùóþ èç N-ïðîáåëîâ:

mysql> select SPACE(6);
    -> "      "

REPLACE(str, from_str, to_str)

Âîçâðàùàåò ñòðîêó str, ãäå âñå âõîæäåíèÿ ïîäñòðîêè from_str çàìåíåíû íà ïîäñòðîêó to_str:

mysql> select REPLACE("www.mysql.com", "w", "Ww");
    -> "WwWwWw.mysql.com"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


REPEAT(str, count)

Âîçâðàùàåò ñòðîêó, ñîñòîÿùóþ èç ââîäíîé ñòðîêè str, ïîâòîðåííîé count ðàç. Åñëè count <=0, âîçâðàùàåò ïóñòóþ ñòðîêó. Åñëè str èëè count ðàâíû NULL, âåðíåò NULL:

mysql> select REPEAT("MySQL", 3);
    -> "MySQLMySQLMySQL"

REVERSE(Str)

Âîçâðàùàåò ñòðîêó str ñ îáðàùåííûì ïîðÿäêîì ñèìâîëîâ:

mysql> select REVERSE("abc");
    -> "cba"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


INSERT(str, pos, len, newstr)

Âîçâðàùàåò ñòðîêó str ñ ïîäñòðîêîé, íà÷èíàþùåéñÿ â ïîçèöèè pos è äëèíîé â len ñèìâîëîâ, çàìåíåííîé íà ñòðîêó newstr:

mysql> select INSERT("Quadratic", 3, 4, "What");
    -> "QuWhattic"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


ELT(N,str1,str2,str3,...)

Âîçâðàùàåò str1, åñëè N=1, str2, åñëè N=2 è òàê äàëåå. Âîçâðàùàåò NULL, åñëè N ìåíüøå, ÷åì 1, èëè áîëüøå, ÷åì ÷èñëî ïàðàìåòðîâ. ELT() äîïîëíÿåò ôóíêöèþ FIELD(), ðàññìîòðåííóþ íèæå:

mysql> select ELT(1, "ej", "Heja", "hej", "foo");
    -> "ej"
mysql> select ELT(4, "ej", "Heja", "hej", "foo");
    -> "foo"

FIELD(str,str1,str2,str3,...)

Âîçâðàùàåò èíäåêñ str â ñïèñêå str1, str2, str3 Âåðíåò 0, åñëè str íå íàéäåíà. FIELD() äîïîëíÿåò ôóíêöèþ ELT():

mysql> select FIELD("ej", "Hej", "ej", "Heja", "hej", "foo");
    -> 2
mysql> select FIELD("fo", "Hej", "ej", "Heja", "hej", "foo");
    -> 0

FIND_IN_SET(str,strlist)

Âîçâðàùàåò çíà÷åíèå îò 1 äî N, åñëè ñòðîêà str íàõîäèòñÿ â ñïèñêå strlist, ñîñòîÿùåì èç N ïîäñòðîê. Ñïèñîê ñòðîê ïðåäñòàâëÿåò ñîáîé ñòðîêó, ñîñòàâëåííóþ èç ïîäñòðîê, îòäåëÿåìûõ ñèìâîëîì çàïÿòîé (,).

Åñëè ïåðâûé ïàðàìåòð ïðåäñòàâëÿåò ñîáîé ïîñòîÿííóþ ñòðîêó, à âòîðîé ñòîëáåö òèïà SET, òî ôóíêöèÿ FIND_IN_SET() îïòèìèçèðîâàíà, ÷òîáû èñïîëüçîâàòü ðàçðÿäíóþ àðèôìåòèêó. Âîçâðàùàåòñÿ 0, åñëè str íå â strlist èëè strlist ÿâëÿåòñÿ ïóñòîé ñòðîêîé. Âîçâðàùàåò NULL, åñëè ëþáîé ïàðàìåòð NULL. Ýòà ôóíêöèÿ íå áóäåò ðàáîòàòü ïðàâèëüíî, åñëè ïåðâûé ïàðàìåòð ñîäåðæèò çàïÿòóþ:

mysql> SELECT FIND_IN_SET(“b",'a,b,c,d');
    -> 2

MAKE_SET (bits, str1 str2, ...)

Âîçâðàùàåò ñòðîêó, ñîäåðæàùóþ ïîäñòðîêè, îòäåëÿåìûå çàïÿòîé (,), ñîñòîÿùóþ èç ñòðîê, êîòîðûå èìåþò ñîîòâåòñòâóþùèé áèò â íàáîðå bits.str1 ñîîòâåòñòâóåò áèòó 0, str2 áèòó 1 èòàê äàëåå. NULL â str1, str2, ... íå ïîïàäóò â ðåçóëüòàò:

mysql> SELECT MAKE_SET(1,'à','b','ñ');
    -> "à"
mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
    -> "hello,world"
mysql> SELECT MAKE_SET(0,'a','b','c');
    -> ""

EXPORT_SET(bits, on, off, [separator, [number_of_bits]])

Âîçâðàùàåò ñòðîêó, ãäå äëÿ êàæäîãî áèòà, óñòàíîâëåííîãî â íàáîðå bit, âû ïîëó÷èòå ñòðîêó, çàäàííóþ ïàðàìåòðîì on, à äëÿ êàæäîãî íåóñòàíîâëåííîãî, ñîîòâåòñòâåííî, ñòðîêó, îïðåäåëåííóþ ïàðàìåòðîì off. Êàæäàÿ ñòðîêà îòäåëÿåòñÿ îò äðóãèõ ðàçäåëèòåëåì (ïàðàìåòð separator, ïî óìîë÷àíèþ ýòî çàïÿòàÿ) è èñïîëüçóåòñÿ òîëüêî “number_of_bits” áèò (ïî óìîë÷àíèþ 64):

mysql> select EXPORT_SET(5,'Ó','N',',’,4)
    -> Y,N,Y,N

LCASE(Str) È LOWER(str)

Âîçâðàùàåò ñòðîêó str ñî âñåìè ñèìâîëàìè, èçìåíåííûìè íà íèæíèé ðåãèñòð ñîãëàñíî òåêóùåìó îòîáðàæåíèþ íàáîðà ñèìâîëîâ (çíà÷åíèå ïî óìîë÷àíèþ: ISO-8859-1 Latin1):

mysql> select LCASE("QUADRATICALLY");
    -> "quadratically"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


UCASE(str) è UPPER(str)

Âîçâðàùàåò ñòðîêó str ñî âñåìè ñèìâîëàìè, èçìåíåííûìè íà âåðõíèé ðåãèñòð ñîãëàñíî òåêóùåìó îòîáðàæåíèþ íàáîðà ñèìâîëîâ (çíà÷åíèå ïî óìîë÷àíèþ: ISO-8859-1 Latin1):

mysql> select UCASE("Hej");
    -> "HEJ"

Ïîääåðæèâàþòñÿ ìíîãîáàéòíûå ñèìâîëû.


LOAD_FILE(file_name)

×èòàåò ôàéë è âîçâðàùàåò ñîäåðæàíèå ôàéëà êàê ñòðîêó. Ôàéë äîëæåí áûòü íà ñåðâåðå (íå íà êëèåíòñêîé ñèñòåìå!), âû äîëæíû îïðåäåëèòü ïîëíîå èìÿ ôàéëà è èìåòü ïðèâèëåãèþ file (ïðèâèëåãèè áóäóò ðàññìîòðåíû ïîçæå, ïîêà âàì äîñòàòî÷íî çíàòü ëèøü òî, ÷òî òàêàÿ ïðèâèëåãèÿ íåîáõîäèìà äëÿ ðàáîòû ñ ýòîé ôóíêöèåé). Ôàéë äîëæåí áûòü ÷èòàåì âñåìè è áûòü ìåíüøå, ÷åì max_allowed_packet. Åñëè ôàéëà íå ñóùåñòâóåò èëè îí íå ÷èòàåòñÿ ïî îäíîé èç âûøåóïîìÿíóòûõ ïðè÷èí, ôóíêöèÿ âîçâðàòèò NULL:

mysql> UPDATE table_name SET blob_column=LOAD_FILE(«/tmp/picture») WHERE id=1;

MySQL ïî ìåðå íåîáõîäèìîñòè àâòîìàòè÷åñêè ïðåîáðàçóåò ÷èñëà â ñòðîêè è íàîáîðîò:

mysql> SELECT 1+»1";
    -> 2
mysql> SELECT CONCAT(2,' test’);
    -> “2 test”

Åñëè âû õîòèòå ïðåîáðàçîâûâàòü ÷èñëî â ñòðîêó ÿâíî, ïåðåäàéòå åãî êàê ïàðàìåòð ôóíêöèè CONCAT().

Åñëè ñòðîêîâàÿ ôóíêöèÿ ïîëó÷àåò äâîè÷íóþ ñòðîêó êàê ïàðàìåòð, âîçíèêàþùàÿ â ðåçóëüòàòå ñòðîêà òàêæå áóäåò äâîè÷íîé. ×èñëà, ïðåîáðàçîâàííûå â ñòðîêó, òàêæå îáðàáàòûâàþòñÿ êàê äâîè÷íûå ñòðîêè. Ýòî âàæíî òîëüêî äëÿ ñðàâíåíèé.