共计 6963 个字符,预计需要花费 18 分钟才能阅读完成。
自动写代码机器人,免费开通
丸趣 TV 小编给大家分享一下 MySQL 实用函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
MySQL 函数大全和函数讲解,管理 MYSQL 数据一定会用到。
注: mysql 的下标是从 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(str)
如果字符串 str 最左面字符是一个多字节字符,通过以格式 ((first byte ASCII code)256+(second byte ASCII code))[256+third byte ASCII code…] 返回字符的 ASCII 代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与 ASCII()函数返回的相同值。
mysql select ORD( 2
- 50
CONV(N,from_base,to_base)
在不同的进制之间变换数字。返回数字 N 的字符串数字,从 from_base 进制变换为 to_base 进制,如果任何参数是 NULL,返回 NULL。参数 N 解释为一个整数,但是可以指定为一个整数或一个字符串。最小进制是 2 且最大的进制是 36。如果 to_base 是一个负数,N 被认为是一个有符号数,否则,N 被当作无符号数。CONV 以 64 位点精度工作。
即:N 是要转换的数据,from_base 是原进制,to_base 是目标进制。
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
BIN(N)
返回二进制值 N 的一个字符串表示,在此 N 是一个长整数 (BIGINT) 数字,这等价于 CONV(N,10,2)。如果 N 是 NULL,返回 NULL。
mysql select BIN(12);
- 1100
OCT(N)
返回八进制值 N 的一个字符串的表示,在此 N 是一个长整型数字,这等价于 CONV(N,10,8)。如果 N 是 NULL,返回 “。
mysql select OCT(12);
- 14
HEX(N)
返回十六进制值 N 一个字符串的表示,在此 N 是一个长整型 (BIGINT) 数字,这等价于 CONV(N,10,16)。如果 N 是 NULL,返回 NULL。
mysql select HEX(255);
- FF
CHAR(N,…)
CHAR()将参数解释为整数并且返回由这些整数的 ASCII 代码字符组成的一个字符串。NULL 值被跳过。
mysql select CHAR(77,121,83,81, 76
- MySQL
mysql select CHAR(77,77.3, 77.3
- MMM
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)、OCTET_LENGTH(str)、CHAR_LENGTH(str)、CHARACTER_LENGTH(str)
返回字符串 str 的长度。
注意,对于多字节字符,其 CHAR_LENGTH()仅计算一次。
mysql select LENGTH( text
mysql select LENGTH( 简书
mysql select OCTET_LENGTH( text
mysql select OCTET_LENGTH( 简书
mysql select CHAR_LENGTH( text
mysql select CHAR_LENGTH( 简书
mysql select CHARACTER_LENGTH( text
mysql select CHARACTER_LENGTH( 简书
- 2
LOCATE(substr,str)、POSITION(substr IN str)
返回子串 substr 在字符串 str 第一个出现的位置,如果 substr 不是在 str 里面,返回 0。
mysql select LOCATE( bar , foobarbar
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)
返回子串 substr 在字符串 str 中的第一个出现的位置。这与有 2 个参数形式的 LOCATE()相同,除了参数被颠倒。
mysql select INSTR( foobarbar , bar
mysql select INSTR( xbar , foobar
- 0
LPAD(str,len,padstr)
返回字符串 str,左面用字符串 padstr 填补直到 str 是 len 个字符长。
mysql select LPAD( hi ,7, abc
- abcabhi
RPAD(str,len,padstr)
返回字符串 str,右面用字符串 padstr 填补直到 str 是 len 个字符长。
mysql select RPAD( hi ,7, abc
- hiabcab
LEFT(str,len)
返回字符串 str 的最左面 len 个字符。
mysql select LEFT(foobarbar , 5);
- fooba
RIGHT(str,len)
返回字符串 str 的最右面 len 个字符。
mysql select RIGHT(foobarbar , 4);
- rbar
SUBSTRING(str,pos,len)、SUBSTRING(str FROM pos FOR len)、MID(str,pos,len)
从字符串 str 返回一个 len 个字符的子串,从位置 pos 开始。使用 FROM 的变种形式是 ANSI SQL92 语法。
mysql select SUBSTRING(Quadratically ,5,6);
- ratica
mysql select SUBSTRING(helloworld FROM 2 FOR 5);
- ellow
mysql select MID(helloworld FROM 2 FOR 5);
- ellow
注:SUBSTR 用法同 SUBSTRING
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([remstr FROM] str)、TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
返回字符串 str,其所有 remstr 前缀或后缀被删除了。如果没有修饰符 BOTH、LEADING 或 TRAILING 给出,BOTH 被假定。如果 remstr 没被指定,空格被删除(中间空格不删除)。
mysql SELECT TRIM( bar bar
- bar bar
mysql SELECT TRIM(LEADING x FROM xxxbarxxx -- 删除指定的首字符 x
- barxxx
mysql SELECT TRIM(BOTH x FROM xxxbarxxx -- 删除指定的首尾字符 x
- bar
mysql SELECT TRIM(TRAILING xyz FROM barxxyz -- 删除指定的尾字符 x
- barx
SOUNDEX(str)
返回 str 的一个同音字符串。听起来“大致相同”的 2 个字符串应该有相同的同音字符串。一个“标准”的同音字符串长是 4 个字符,但是 SOUNDEX()函数返回一个任意长的字符串。你可以在结果上使用 SUBSTRING()得到一个“标准”的 同音串。所有非数字字母字符在给定的字符串中被忽略。所有在 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)
返回由重复 countTimes 次的字符串 str 组成的一个字符串。如果 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,…)
如果 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
FIELD(str,str1,str2,str3,…)
返回 str 在 str1, str2, str3, … 清单的索引。如果 str 没找到,返回 0。FIELD()是 ELT()反运算。
mysql select FIELD( ej , Hej , ej , Heja , hej , foo
mysql select FIELD( fo , Hej , ej , Heja , hej , foo
- 0
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
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(1 | 4, hello , nice ,NULL, world
- hello
mysql SELECT MAKE_SET(0, a , b , c
-
说明:
bits 应将期转为二进制,如,1 为,0001, 倒过来排序,则为 1000, 将 bits 后面的字符串 str1,str2 等,放置在这个倒过来的二进制排序中,取出值为 1 对应的字符串,则得到 hello.
1| 4 表示进行或运算,为 0001 | 0100, 得 0101,倒过来排序,为 1010,则 hello , nice , world 得到的是 hello word。hello , nice ,NULL, world 得到的是 hello。NULL 不取,只有 1 才取对应字符串.
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
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( Hello
- HELLO
LOAD_FILE(file_name)
读入文件并且作为一个字符串返回文件内容。文件必须在服务器上,你必须指定到文件的完整路径名,而且你必须有 file 权限。文件必须所有内容都是可读的并且小于 max_allowed_packet。如果文件不存在或由于上面原因之一不能被读出,函数返回 NULL。
mysql UPDATE table_name
SET blob_column=LOAD_FILE(/tmp/picture)
WHERE id=1;
CONCAT(str1,str2,…)
将多个字符串连接成一个字符串,返回结果为连接参数产生的字符串。如有任何一个参数为 NULL,则返回值为 NULL。或许有一个或多个参数。如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql SELECT CONCAT( My , S , ql
-‘MySQL’mysql SELECT CONCAT( My , NULL, ql
- NULL
mysql SELECT CONCAT(14.3);
- 14.3
MySQL 必要时自动变换数字为字符串,并且反过来也如此:
mysql SELECT 1+ 1
mysql SELECT CONCAT(2, test
- 2 test
CONCAT_WS(separator,str1,str2,…)
CONCAT_WS() 代表 CONCAT With Separator,是 CONCAT()的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 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
注 CONCAT_WS()不会忽略任何空字符串。(然而会忽略所有的 NULL)。
以上是“MySQL 实用函数有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!