mysql的字符串函数ITeye - 凯时娱乐

mysql的字符串函数ITeye

2019年03月13日15时11分27秒 | 作者: 凝丹 | 标签: 字符串,函数,字符 | 浏览: 2397

关于针对字符串方位的操作,第一个方位被标记为1。
1.ASCII(str)
回来字符串str的最左面字符的ASCII代码值。假如str是空字符串,回来0。假如str是NULL,回来NULL。
mysql select ASCII(2);
  - 50
mysql select ASCII(2);
  - 50
mysql select ASCII(dx);
  - 100
也可拜见ORD()函数。
2.ORD(str)
假如字符串str最左面字符是一个多字节字符,经过以格局((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]回来字符的ASCII代码值来回来多字节字符代码。假如最左面的字符不是一个多字节字符。回来与ASCII()函数回来的相同值。
mysql select ORD(2);
  - 50

3.CONV(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 CONV(-17,10,-18);
  - -H
mysql select CONV(10+"10"+10+0xa,10,10);
  - 40

4.BIN(N)
回来二进制值N的一个字符串表明,在此N是一个长整数(BIGINT)数字,这等价于CONV(N,10,2)。假如N是NULL,回来NULL。
mysql select BIN(12);
  - 1100
5.OCT(N)
回来八进制值N的一个字符串的表明,在此N是一个长整型数字,这等价于CONV(N,10,8)。假如N是NULL,回来NULL。
mysql select OCT(12);
  - 14

6.HEX(N)
回来十六进制值N一个字符串的表明,在此N是一个长整型(BIGINT)数字,这等价于CONV(N,10,16)。假如N是NULL,回来NULL。
mysql select HEX(255);
  - FF

7.CHAR(N,...)
CHAR()将参数解释为整数而且回来由这些整数的ASCII代码字符组成的一个字符串。NULL值被越过。
mysql select CHAR(77,121,83,81,76);
  - MySQL
mysql select CHAR(77,77.3,77.3);
  - MMM

8.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
9.LENGTH(str)

10.OCTET_LENGTH(str)

11.CHAR_LENGTH(str)

12.CHARACTER_LENGTH(str)
回来字符串str的长度。
mysql select LENGTH(text);
  - 4
mysql select OCTET_LENGTH(text);
  - 4
留意,关于多字节字符,其CHAR_LENGTH()仅核算一次。
13.LOCATE(substr,str)

14.POSITION(substr IN str)
回来子串substr在字符串str第一个呈现的方位,假如substr不是在str里边,回来0.
mysql select LOCATE(bar, foobarbar);
  - 4
mysql select LOCATE(xbar, foobar);
  - 0
该函数是多字节牢靠的。 
15.LOCATE(substr,str,pos)
回来子串substr在字符串str第一个呈现的方位,从方位pos开端。假如substr不是在str里边,回来0。
mysql select LOCATE(bar, foobarbar,5);
  - 7
这函数是多字节牢靠的。
16.INSTR(str,substr)
回来子串substr在字符串str中的第一个呈现的方位。这与有2个参数方式的LOCATE()相同,除了参数被倒置。
mysql select INSTR(foobarbar, bar);
  - 4
mysql select INSTR(xbar, foobar);
  - 0
这函数是多字节牢靠的。
17.LPAD(str,len,padstr)
回来字符串str,左面用字符串padstr添补直到str是len个字符长。
mysql select LPAD(hi,4,??);
  - ??hi

18.RPAD(str,len,padstr)
回来字符串str,右面用字符串padstr添补直到str是len个字符长。 
mysql select RPAD(hi,5,?);
  - hi???
19.LEFT(str,len)
回来字符串str的最左面len个字符。
mysql select LEFT(foobarbar, 5);
  - fooba
该函数是多字节牢靠的。
20.RIGHT(str,len)
回来字符串str的最右面len个字符。
mysql select RIGHT(foobarbar, 4);
  - rbar
该函数是多字节牢靠的。
21.SUBSTRING(str,pos,len)

22.SUBSTRING(str FROM pos FOR len)

23.MID(str,pos,len)
从字符串str回来一个len个字符的子串,从方位pos开端。运用FROM的变种方式是ANSI SQL92语法。
mysql select SUBSTRING(Quadratically,5,6);
  - ratica
该函数是多字节牢靠的。
24.SUBSTRING(str,pos)

25.SUBSTRING(str FROM pos)
从字符串str的开始方位pos回来一个子串。
mysql select SUBSTRING(Quadratically,5);
  - ratically
mysql select SUBSTRING(foobarbar FROM 4);
  - barbar
该函数是多字节牢靠的。
26.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
该函数对多字节是牢靠的。
27.LTRIM(str)
回来删去了其前置空格字符的字符串str。
mysql select LTRIM(  barbar);
  - barbar
28.RTRIM(str)
回来删去了其拖后空格字符的字符串str。
mysql select RTRIM(barbar  );
  - barbar
该函数对多字节是牢靠的。 
29.TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
回来字符串str,其一切remstr前缀或后缀被删去了。假如没有修饰符BOTH、LEADING或TRAILING给出,BOTH被假定。假如remstr没被指定,空格被删去。
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
该函数对多字节是牢靠的。
21.SOUNDEX(str)
回来str的一个同音字符串。听起来“大致相同”的2个字符串应该有相同的同音字符串。一个“规范”的同音字符串长是4个字符,可是SOUNDEX()函数回来一个恣意长的字符串。你能够在成果上运用SUBSTRING()得到一个“规范”的 同音串。一切非数字字母字符在给定的字符串中被疏忽。一切在A-Z之外的字符世界字母被当作元音。
mysql select SOUNDEX(Hello);
  - H400
mysql select SOUNDEX(Quadratically);
  - Q36324

22.SPACE(N)
回来由N个空格字符组成的一个字符串。
mysql select SPACE(6);
  -  

23.REPLACE(str,from_str,to_str)
回来字符串str,其字符串from_str的一切呈现由字符串to_str替代。
mysql select REPLACE(www.mysql.com, w, Ww);
  - WwWwWw.mysql.com
该函数对多字节是牢靠的。
24.REPEAT(str,count)
回来由重复countTimes次的字符串str组成的一个字符串。假如count = 0,回来一个空字符串。假如str或count是NULL,回来NULL。
mysql select REPEAT(MySQL, 3);
  - MySQLMySQLMySQL

25.REVERSE(str)
回来倒置字符次序的字符串str。
mysql select REVERSE(abc);
  - cba
该函数对多字节牢靠的。
26.INSERT(str,pos,len,newstr)
回来字符串str,在方位pos开始的子串且len个字符长得子串由字符串newstr替代。
mysql select INSERT(Quadratic, 3, 4, What);
  - QuWhattic
该函数对多字节是牢靠的。
27.ELT(N,str1,str2,str3,...)
假如N= 1,回来str1,假如N= 2,回来str2,等等。假如N小于1或大于参数个数,回来NULL。ELT()是FIELD()反运算。
mysql select ELT(1, ej, Heja, hej, foo);
  - ej
mysql select ELT(4, ej, Heja, hej, foo);
  - foo
28.FIELD(str,str1,str2,str3,...)
回来str在str1, str2, str3, ...清单的索引。假如str没找到,回来0。FIELD()是ELT()反运算。
mysql select FIELD(ej, Hej, ej, Heja, hej, foo);
  - 2
mysql select FIELD(fo, Hej, ej, Heja, hej, foo);
  - 0
29.FIND_IN_SET(str,strlist)
假如字符串str在由N子串组成的表strlist之中,回来一个1到N的值。一个字符串表是被“,”分隔的子串组成的一个字符串。假如第一个参数是一个常数字符串而且第二个参数是一种类型为SET的列,FIND_IN_SET()函数被优化而运用位运算!假如str不是在strlist里边或假如strlist是空字符串,回来0。假如任何一个参数是NULL,回来NULL。假如第一个参数包括一个“,”,该函数将作业不正常。
mysql SELECT FIND_IN_SET(b,a,b,c,d);
  - 2

30.MAKE_SET(bits,str1,str2,...)
回来一个调集 (包括由“,”字符分隔的子串组成的一个字符串),由相应的位在bits调集中的的字符串组成。str1对应于位0,str2对应位1,等等。在str1, str2, ...中的NULL串不添加到成果中。
mysql SELECT MAKE_SET(1,a,b,c);
  - a
mysql SELECT MAKE_SET(1 | 4,hello,nice,world);
  - hello,world
mysql SELECT MAKE_SET(0,a,b,c);
  -
31.EXPORT_SET(bits,on,off,[separator,[number_of_bits]])
回来一个字符串,在这里关于在“bits”中设定每一位,你得到一个“on”字符串,而且关于每个复位(reset)的位,你得到一个“off”字符串。每个字符串用“separator”分隔(缺省“,”),而且只要“bits”的“number_of_bits” (缺省64)位被运用。
mysql select EXPORT_SET(5,Y,N,,,4)
  - Y,N,Y,N
32.LCASE(str)

33.LOWER(str)
回来字符串str,依据当时字符集映射(缺省是ISO-8859-1 Latin1)把一切的字符改变成小写。该函数对多字节是牢靠的。
mysql select LCASE(QUADRATICALLY);
  - quadratically

34.UCASE(str)

35.UPPER(str)
回来字符串str,依据当时字符集映射(缺省是ISO-8859-1 Latin1)把一切的字符改变成大写。该函数对多字节是牢靠的。
mysql select UCASE(Hej);
  - HEJ
该函数对多字节是牢靠的。
36.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()。
假如字符串函数供给一个二进制字符串作为参数,成果字符串也是一个二进制字符串。被改换到一个字符串的数字被当作是一个二进制字符串。这仅影响比较。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章