博客
关于我
mysql基础教程三 —常见函数
阅读量:798 次
发布时间:2023-02-12

本文共 2439 字,大约阅读时间需要 8 分钟。

进阶4:常见函数

在编程中,函数是代码的核心组件之一。MySQL中的函数为开发者提供了强大的工具,能够简化操作并提高效率。本文将详细介绍MySQL中的常见函数,包括字符函数、数学函数、日期函数以及其他流程控制函数。

一、字符函数

字符函数是处理字符串的核心工具,常用于数据处理、格式化等场景。

  • length 获取字符串的字节个数

    SELECT LENGTH('john');  -- 输出:4

    例如,LENGTH('张三丰hahaha') 返回9个字节。

  • concat 拼接字符串

    SELECT CONCAT(last_name,'_',first_name) AS 姓名 FROM employees;

    例如,用于拼接员工姓名。

  • upper、lower 转换字符大小写

    SELECT UPPER('john');  -- 输出:JOHNSELECT LOWER('joHn');  -- 输出:john

    示例:将姓变大写,名变小写并拼接。

    SELECT CONCAT(UPPER(last_name),LOWER(first_name)) AS 姓名 FROM employees;
  • substr、substring 截取字符串

    SELECT SUBSTR('李莫愁爱上了陆展元',7) AS out_put;  -- 输出:"了陆展"

    注意:索引从1开始。

    SELECT SUBSTR('李莫愁爱上了陆展元',1,3) AS out_put;  -- 输出:"李"

    案例:提取首字母大写,其他字符小写并用_拼接。

    SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'_',LOWER(SUBSTR(last_name,2))) AS out_put FROM employees;
  • instr 查找子串

    SELECT INSTR('杨不殷六侠悔爱上了殷六侠','殷八侠') AS out_put;  -- 输出:0

    如果子串不存在,返回0。

  • trim 去除前后空格

    SELECT LENGTH(TRIM('    张翠山    ')) AS out_put;  -- 输出:10

    示例:去除多余空格并提取纯文本。

  • lpad、rpad 左右填充字符

    SELECT LPAD('殷素素',2,'*') AS out_put;  -- 输出:**殷素素
    SELECT RPAD('殷素素',12,'ab') AS out_put;  -- 输出:ab殷素素
  • replace 替换字符

    SELECT REPLACE('周芷若周芷若周芷若周芷若张无忌爱上了周芷若','周芷若','赵敏') AS out_put;  -- 输出:赵敏赵敏赵敏赵敏赵敏张无忌爱上了赵敏
  • 二、数学函数

    数学函数用于对数值进行特定运算,常见于数据处理和统计。

  • round 四舍五入

    SELECT ROUND(-1.55);  -- 输出:-2

    示例:四舍五入保留两位小数。

    SELECT ROUND(1.567,2);  -- 输出:1.57
  • ceil、floor 取整函数

    SELECT CEIL(-1.02);  -- 输出:-1
    SELECT FLOOR(-9.99);  -- 输出:-10
  • truncate 截断小数

    SELECT TRUNCATE(1.69999,1);  -- 输出:1
  • mod 取余运算

    SELECT MOD(10,-3);  -- 输出:-1

    示例:计算10除以3的余数。

  • 三、日期函数

    日期函数用于处理日期时间信息,常见于数据分析和数据展示。

  • now、curdate、curtime 获取当前日期时间

    SELECT NOW();  -- 输出:当前日期和时间
    SELECT CURDATE();  -- 输出:当前日期
    SELECT CURTIME();  -- 输出:当前时间
  • year、month、monthname、day、hour、minute、second 提取日期时间的各部分

    SELECT YEAR(NOW()) AS 年;  -- 输出:2023

    示例:提取指定日期的年月日等信息。

  • str_to_date、date_format 日期格式转换

    SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;  -- 输出:1998-03-02

    示例:将字符日期转换为标准格式。

  • date_format 格式化日期为字符

    SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;  -- 输出:2023年12月31日

    示例:提取并格式化入职日期。

  • 四、其他函数

    这些函数提供了对系统环境和用户信息的访问权限。

  • version、database、user 获取系统信息
    SELECT VERSION();  -- 输出:MySQL版本号
    SELECT DATABASE();  -- 输出:当前数据库名
    SELECT USER();  -- 输出:连接的用户账号
  • 五、流程控制函数

    流程控制函数用于实现条件判断和分支逻辑。

  • if函数 条件判断

    SELECT IF(10<5,'大','小');  -- 输出:小

    示例:根据条件判断显示不同结果。

  • case函数 多条件分支

    SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,嘻嘻') AS 备注 FROM employees;

    示例:根据条件返回不同的奖金状态。

  • 总结

    通过上述函数的学习和实践,您可以显著提升在MySQL中数据处理的能力。从字符操作到数学计算,再到日期处理,每一个函数都为您的开发提供了强大的工具。随着实践的增多,您会对MySQL功能有更深入的理解,能够更高效地完成开发任务。

    转载地址:http://hhbfk.baihongyu.com/

    你可能感兴趣的文章
    Mysql配置文件my.ini详解
    查看>>
    MySQL配置文件深度解析:10个关键参数及优化技巧---强烈要求的福利来咯。
    查看>>
    Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
    查看>>
    mysql配置读写分离并在若依框架使用读写分离
    查看>>
    MySQL里为什么会建议不要使用SELECT *?
    查看>>
    MySQL里的那些日志们
    查看>>
    mysql重新安装?忘记root密码?重装Windows、Linux系统导致mysql没法用吗? 这里有你想要的答案
    查看>>
    mysql重置root密码
    查看>>
    MySQL锁
    查看>>
    MySQL锁与脏读、不可重复读、幻读详解
    查看>>
    MySQL锁机制
    查看>>
    mysql锁机制,主从复制
    查看>>
    Mysql锁机制,行锁表锁
    查看>>
    MySQL锁表问题排查
    查看>>
    Mysql锁(1):锁概述和全局锁的介绍
    查看>>
    Mysql锁(2):表级锁
    查看>>
    MySQL锁,锁的到底是什么?
    查看>>
    MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
    查看>>
    Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法
    查看>>
    MySQL错误提示mysql Statement violates GTID consistency
    查看>>