### MySQL函数大全详解 #### 一、控制流程函数 ##### CASE WHEN THEN 函数 - **语法**: ```sql CASE value WHEN compare-value THEN result [WHEN compare-value THEN result ...] [ELSE result] END ``` 或者 ```sql CASE WHEN condition THEN result [WHEN condition THEN result ...] [ELSE result] END ``` - **说明**: - 第一种形式,`value`与`compare-value`进行比较,如果相等则返回对应的`result`。若没有匹配项且存在`ELSE`子句,则返回`ELSE`后面的`result`,否则返回`NULL`。 - 第二种形式基于条件表达式来决定返回哪个`result`。如果某个`WHEN`子句中的条件为真,则返回该子句的`result`。如果没有任何条件为真且存在`ELSE`子句,则返回`ELSE`后的`result`,否则返回`NULL`。 ##### IF 函数 - **语法**: ```sql IF(expr1, expr2, expr3) ``` - **说明**: - 如果`expr1`为真(即`expr1 <> 0 AND expr1 <> NULL`),则返回`expr2`;否则返回`expr3`。 - `IF()`函数返回的值类型取决于上下文,可以是数字或字符串。 ##### IFNULL 函数 - **语法**: ```sql IFNULL(expr1, expr2) ``` - **说明**: - 如果`expr1`不是`NULL`,则返回`expr1`;否则返回`expr2`。 - `IFNULL()`函数同样根据上下文返回数字或字符串类型的值。 #### 二、字符串处理函数 ##### ASCII 函数 - **语法**: ```sql ASCII(str) ``` - **说明**: - 返回字符串`str`的第一个字符的ASCII值。 - 如果`str`为空字符串,则返回0。 - 如果`str`为`NULL`,则返回`NULL`。 ##### BIN 函数 - **语法**: ```sql BIN(N) ``` - **说明**: - 返回数字`N`的二进制字符串表示。 - 相当于`CONV(N, 10, 2)`。 - 如果`N`为`NULL`,则返回`NULL`。 ##### CHAR 函数 - **语法**: ```sql CHAR(N[, USING charset]) ``` - **说明**: - 将每个参数`N`视为整数,并返回一个由这些整数对应的字符组成的字符串。 - 如果参数为`NULL`,则会被忽略。 ##### CHAR_LENGTH 函数 - **语法**: ```sql CHAR_LENGTH(str) ``` - **说明**: - 返回字符串`str`的长度,计算单位为字符。 - 对于多字节字符集,每个字符可能占用多个字节,但`CHAR_LENGTH()`只计为一个字符。 - 例如,一个包含5个双字节字符的字符串,`LENGTH()`返回10,而`CHAR_LENGTH()`返回5。 ##### CHARACTER_LENGTH 函数 - **语法**: ```sql CHARACTER_LENGTH(str) ``` - **说明**: - `CHARACTER_LENGTH()`与`CHAR_LENGTH()`功能相同,返回字符串`str`的长度(单位为字符)。 ##### COMPRESS 函数 - **语法**: ```sql COMPRESS(string_to_compress) ``` - **说明**: - 压缩字符串`string_to_compress`。 - 要求MySQL服务器已经安装了支持压缩的库,如`zlib`。 - 如果未安装压缩库,则返回`NULL`。 ##### CONCAT 函数 - **语法**: ```sql CONCAT(str1, str2, ...) ``` - **说明**: - 连接一个或多个字符串参数并返回结果。 - 如果有任何一个参数为`NULL`,则返回`NULL`。 - 参数中如果有数字,则自动将其转换为相应的字符串格式。 - 可通过显式类型转换来避免数字转字符串的行为,如`SELECT CONCAT(CAST(int_col AS CHAR), char_col)`。 ##### CONCAT_WS 函数 - **语法**: ```sql CONCAT_WS(separator, str1, str2, ...) ``` - **说明**: - `separator`作为其他字符串参数之间的分隔符。 - 如果分隔符为`NULL`,则整个结果也为`NULL`。 - 会忽略分隔符后的`NULL`值。 ##### CONV 函数 - **语法**: ```sql CONV(N, from_base, to_base) ``` - **说明**: - 将数字`N`从`from_base`基数转换为`to_base`基数的字符串表示。 - 如果任意参数为`NULL`,则返回`NULL`。 - `N`被视为整数,即使它是以字符串形式提供的。 - 最小基数为2,最大基数为36。 - 如果`to_base`为负数,则`N`被视为带符号数;否则,视为无符号数。 ##### ELT 函数 - **语法**: ```sql ELT(N, str1, str2, str3, ...) ``` - **说明**: - 如果`N = 1`,则返回`str1`;如果`N = 2`,则返回`str2`,依此类推。 - 如果`N`小于1或大于参数的数量,则返回`NULL`。 - `ELT()`可以看作是`FIELD()`的逆运算。 #### 总结 本文档介绍了MySQL中的一些常用函数,包括控制流程函数以及字符串处理函数。这些函数在日常的数据库管理和开发过程中非常实用,可以帮助我们更高效地操作数据。了解并熟练掌握这些函数的功能及用法,能够极大地提高我们的工作效率。希望本文档能够帮助大家更好地理解和应用MySQL函数。




































剩余34页未读,继续阅读


- 粉丝: 436
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 毕设&课设:智慧笔匠在线文档 第十三届“中国软件杯”大学生软件设计大赛 A10 在线编辑器赛道一等奖作品.zip
- 毕设&课设:智慧工地设计方案.zip
- 毕设&课设:智慧记单词,本科Android课程设计.zip
- 毕设&课设:智慧党建项目-中铁一局集团第五工程有限公司-中国兵器工业集团特种能源集团-中铁第一勘察设计院城建院-.zip
- Delphi 12 控件之Delphi-获得打印机列表&打印机状态&打印机详细信息源代码
- 毕设&课设:智慧社区党建积分——毕业设计Android端.zip
- 毕设&课设:智慧零工平台前端系统是一个基于uni-app框架开发的跨平台移动端应用,支持微信小程序和H5双端运行.zip
- 毕设&课设:智慧社区居家养老健康管理系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,.zip
- 毕设&课设:智慧社团(毕业设计).zip
- 毕设&课设:智慧外贸平台,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,Java.zip
- 毕设&课设:智慧图书管理系统设计与实现,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小.zip
- 毕设&课设:智慧物业平台修改5.5小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,.zip
- 毕设&课设:智慧物业平台小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,J.zip
- 毕设&课设:智慧物流小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,Jav.zip
- 毕设&课设:智慧校园云端管理系统的设计和实现.zip
- 毕设&课设:智慧校园管理系统小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序.zip


