MySQL实用函数有哪些

57次阅读
没有评论

共计 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 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计6963字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)