注意:如果结果的长度大于服务器参数max_allow ed_pa cket,字符串值函数返回
NU LL
对于针对字符串位置的操作,第一个位置被标记为1。
A SCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NUL L。
m ysql> sele ct AS CII(‟2′);
-> 50
mysq l> se lectASCII(2);
-> 50
mysq l> se lectASCII(‟dx‟);
-> 100
也可参见ORD()函数。
ORD(s tr)
如果字符串s tr最左面字符是一个多字节字符,通过以格式((fi rst b yte A SCII
code)*256+(seco nd by te AS CII c ode))[*256+thir d byt e ASC II co de…]返回字符
的A SCII代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与A SCII()函数返回的相同值。
mys ql> s elect ORD(‟2′);
-> 50
Mo re…
CONV(N,fro m_bas e,to_base)
在不同的数字基之间变换数字。返回数字N的字符串数字,从fr om_ba se基变换为to_b ase基,如果任何参数是NUL L,返回N ULL。参数N解释为一个整数,但是可以指定为一个整数或一个字符串。最小基是2且最大的基是36。如果t o_bas e是一个负数,N被认为是一个有符号数,否则,N被当作无符号数。 CON V以64位点精度工作。
my sql>selec t CON V(”a”,16,2);
-> …1010′
my sql>selec t CON V(”6E”,18,8);
-> …172′
my sql>selec t CON V(-17,10,-18);
-> …-H‟
my sql>selec t CON V(10+”10″+‟10′+0xa,10,10);
->…40′
BIN(N)
返回二进制值N的一个字符串表示,在此N是一个长整数(B IGINT)数字,这等价于CO NV(N,10,2)。如果N是NULL,返回NUL L。
m ysql> sele ct BI N(12);
->…1100′
OC T(N)
返回八进制值N的一个字符串的表示,在此N是一个长整型数字,这等价于
CO NV(N,10,8)。如果N是NULL,返回NUL L。
m ysql> sele ct OC T(12);
->…14′
HEX(N)
返回十六进制值N一个字符串的表示,在此N是一个长整型(BIGIN T)数字,这等价于C ONV(N,10,16)。如果N是NUL L,返回N ULL。
mysq l> se lectHEX(255);
-> …F F‟
C HAR(N,…)
C HAR()将参数解释为整数并且返回由这些整数的AS CII代码字符组成的一个字符串。NULL值被跳过。
mys ql> s elect CHAR(77,121,83,81,‟76′);
-> …MySQL‟
mys ql> s elect CHAR(77,77.3,‟77.3′);
-> …MMM‟
CO NCAT(str1,str2,…)
返回来自于参数连结的字符串。如果任何参数是N ULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。
my sql>selec t CON CAT(‟My‟,…S‟,…QL‟);
->…MySQ L‟
my sql>selec t CON CAT(‟My‟,NULL, …QL‟);
-> NULL
mysq l> se lectCONCA T(14.3);
-> …14.3′
LENGT H(str)
OC TET_L ENGTH(str)
CHA R_LEN GTH(s tr)
CHARA CTER_LENGT H(str)
返回字符串str的长度。
mysq l> se lectLENGT H(‟te xt‟);
-> 4
mysq l> se lectOCTET_LENG TH(‟t ext‟);
->4
注意,对于多字节字符,其CHAR_LENGT H()仅计算一次。
LOCA TE(su bstr,str)
POSI TION(subst r INstr)
返回子串s ubstr在字符串s tr第一个出现的位置,如果su bstr不是在str里面,返回0.
m ysql> sele ct LO CATE(‟bar‟, …fo obarb ar‟);
-
> 4
mysq l> se lectLOCAT E(‟xb ar‟,…foob ar‟);
-> 0
该函数是多字节可靠的。
LOCAT E(sub str,s tr,po s)
返回子串sub str在字符串str第一个出现的位置,从位置pos开始。如果subst r不是在s tr里面,返回0。
mysq l> se lectLOCAT E(‟ba r‟, …fooba rbar‟,5);
-> 7
这函数是多字节可靠的。
I NSTR(str,s ubstr)
返回子串subs tr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCAT E()相同,除了参数被颠倒。
mysq l> se lectINSTR(‟foo barba r‟, …bar‟);
->4
mys ql> s elect INST R(‟xb ar‟,…foob ar‟);
-> 0
这函数是多字节可靠的。
LPAD(str,l en,pa dstr)
返回字符串str,左面用字符串pads tr填补直到str是len个字符长。
mysql> sel ect L PAD(‟hi‟,4,‟??‟);
-> …??h i‟
R PAD(s tr,le n,pad str)
返回字符串str,右面用字符串padst r填补直到str是l en个字符长。
m ysql> sele ct RP AD(‟h i‟,5,‟?');
-> …hi???‟
LE FT(st r,len)
返回字符串str的最左面l en个字符。
my sql>selec t LEF T(‟fo obarb ar‟,5);
-> …fo oba‟
该函数是多字节可靠的。
R IGHT(str,l en)
返回字符串s tr的最右面len个字符。
mysql> sel ect R IGHT(‟foob arbar‟, 4);
->…rbar‟
该函数是多字节可靠的。
SUBS TRING(str,pos,l en)
SUBST RING(str F ROM p os FO R len)
MI D(str,pos,len)
从字符串s tr返回一个len个字符的子串,从位置p os开始。使用FRO M的变种形式是ANS I SQL92语法。
mys ql> s elect SUBS TRING(‟Qua drati cally‟,5,6);
-> …rat ica‟
该函数是多字节可靠的。
S UBSTR ING(s tr,po s)
S UBSTR ING(s tr FR OM po s)
从字符串str的起始位置pos返回一个子串。
mys ql> s elect SUBS TRING(‟Qua drati cally‟,5);
-> …ratic ally‟
mysq l> se lectSUBST RING(‟foob arbar‟ FRO M 4);
-> …barba r‟
该函数是多字节可靠的。
SUB STRIN G_IND EX(st r,del im,co unt)
返回从字符串str的第coun t个出现的分隔符de lim之后的子串。如果coun t是正
数,返回最后的分隔符到左边(从左边数) 的所有字符。如果coun t是负数,返回最后的分隔符到右边的所有字符(从右边数)。
mysql> sel ect S UBSTR ING_I NDEX(‟www.mysql‟, ….‟, 2);
-> …www.m ysql‟
mysq l> se lectSUBST RING_INDEX(‟www.mysm‟, ….‟, -2);
-> …mys ql.co m‟
该函数对多字节是可靠的。
LT RIM(s tr)
返回删除了其前置空格字符的字符串str。
mysq l> se lectLTRIM(‟ barba r‟);
-> …b arbar‟
RT RIM(s tr)
返回删除了其拖后空格字符的字符串str。
mysq l> se lectRTRIM(‟bar bar …);
-> …barba r‟
该函数对多字节是可靠的。
mysql 字符串转数组TR IM([[BOTH| LEA DING| TRA ILING] [re mstr] FROM] str)
返回字符串str,其所有r emstr前缀或后缀被删除了。如果没有修饰符BOT H、
LEA DING或TRAIL ING给出,BOTH被假定。如果rems tr没被指定,空格被删除。
mysql> sel ect T RIM(‟ ba r …);
-> …ba r‟
my sql>selec t TRI M(LEA DING…x‟ F ROM …xxxba rxxx‟);
-> …bar xxx‟
mysql> sel ect T RIM(B OTH …x‟ FR OM …x xxbar xxx‟);
->…bar‟
mysq l> se lectTRIM(TRAIL ING …xyz‟FROM…barx xyz‟);
->…barx‟
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论