博客
关于我
mysql基础教程三 —常见函数
阅读量:800 次
发布时间: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更新时间列只改日期为指定日期不更改时间
    查看>>
    MySQL更新锁(for update)摘要
    查看>>
    mysql替换表的字段里面内容
    查看>>
    MySQL最大建议行数 2000w,靠谱吗?
    查看>>
    MySQL有哪些锁
    查看>>
    MySQL服务器安装(Linux)
    查看>>
    mysql服务器查询慢原因分析方法
    查看>>
    mysql服务无法启动的问题
    查看>>
    MySQL杂谈
    查看>>
    mysql权限
    查看>>
    mysql条件查询
    查看>>
    MySQL架构与SQL的执行流程_1
    查看>>
    MySQL架构与SQL的执行流程_2
    查看>>
    MySQL架构介绍
    查看>>
    MySQL架构优化
    查看>>
    MySQL查看数据库相关信息
    查看>>
    MySQL查看表结构和表中数据
    查看>>
    MySQL查询优化:LIMIT 1避免全表扫描
    查看>>
    MySQL查询优化之索引
    查看>>
    mysql查询储存过程,函数,触发过程
    查看>>