MYSQL常用函数举例详解

MySQL提供了丰富多样的函数来处理数据,这些函数大致可以分为以下几类:字符函数、数学函数、日期和时间函数、控制流函数、聚合函数、系统信息函数等。

下面是一些常用的函数及其详细说明:


字符函数

  1. LENGTH(str)

    • 示例SELECT LENGTH('Hello, World!') FROM DUAL;
      • 输出: 13
      • 描述: 返回字符串'Hello, World!'的长度。
  2. CONCAT(str1, str2, ...)

    • 示例SELECT CONCAT('Hello, ', 'User') FROM DUAL;
      • 输出: Hello, User
      • 描述: 连接字符串'Hello, '和'User'。
  3. SUBSTR(str, start, length)

    • 示例SELECT SUBSTR('Hello, World!', 8, 5) FROM DUAL;
      • 输出: World
      • 描述: 从'Hello, World!'的第8个字符开始,提取长度为5的子串。
  4. INSTR(str, substr)

    • 示例SELECT INSTR('Hello, World!', 'World') FROM DUAL;
      • 输出: 8
      • 描述: 返回'World'在'Hello, World!'中首次出现的位置。
  5. TRIM(str)

    • 示例SELECT TRIM(' Trim Me ') FROM DUAL;
      • 输出: Trim Me
      • 描述: 删除字符串两端的空格。
  6. UPPER(str) / LOWER(str)

    • 示例SELECT UPPER('Hello'), LOWER('WORLD') FROM DUAL;
      • 输出: HELLO, world
      • 描述: 分别转换为大写和小写。
  7. LPAD/RPAD(str, len, pad)

    • 示例SELECT LPAD('MySQL', 10, '-') FROM DUAL;
      • 输出: ----MySQL
      • 描述: 左侧填充'-'使总长度达到10。
  8. REPLACE(str, from_str, to_str)

    • 示例SELECT REPLACE('Hello World', 'World', 'Universe') FROM DUAL;
      • 输出: Hello Universe
      • 描述: 将'World'替换为'Universe'。

数学函数

  1. ROUND(x, y)

    • 示例SELECT ROUND(3.14159, 2) FROM DUAL;
      • 输出: 3.14
      • 描述: 四舍五入至小数点后两位。
  2. FLOOR(x)

    • 示例SELECT FLOOR(3.7) FROM DUAL;
      • 输出: 3
      • 描述: 返回不大于x的最大整数。
  3. CEIL(x) 或 CEILING(x)

    • 示例SELECT CEILING(3.2) FROM DUAL;
      • 输出: 4
      • 描述: 返回不小于x的最小整数。
  4. MOD(x, y)

    • 示例SELECT MOD(10, 3) FROM DUAL;
      • 输出: 1
      • 描述: 返回除法的余数。
  5. RAND()

    • 示例SELECT RAND() FROM DUAL;
      • 输出: 随机浮点数(每次执行可能不同)
      • 描述: 生成0到1之间的随机数。

日期和时间函数

  1. NOW()

    • 示例SELECT NOW() FROM DUAL;
      • 输出: 当前日期和时间(格式如:YYYY-MM-DD HH:MM:SS)
      • 描述: 返回当前日期和时间。
  2. CURDATE()

    • 示例SELECT CURDATE() FROM DUAL;
      • 输出: 当前日期(格式如:YYYY-MM-DD)
      • 描述: 返回当前日期。
  3. CURTIME()

    • 示例SELECT CURTIME() FROM DUAL;
      • 输出: 当前时间(格式如:HH:MM:SS)
      • 描述: 返回当前时间。
  4. YEAR(date)

    • 示例SELECT YEAR('2023-04-01') FROM DUAL;
      • 输出: 2023
      • 描述: 提取日期中的年份。
  5. MONTH(date)

    • 示例SELECT MONTH('2023-04-01') FROM DUAL;
      • 输出: 4
      • 描述: 提取日期中的月份。

控制流函数

  1. IF(expr1, expr2, expr3)

    • 示例SELECT IF(5 > 3, 'Yes', 'No') FROM DUAL;
      • 输出: Yes
      • 描述: 如果条件为真,返回expr2,否则返回expr3。
  2. CASE WHEN ... THEN ... ELSE ... END

    • 示例SELECT CASE WHEN 5 > 3 THEN 'Greater' ELSE 'Less' END FROM DUAL;
      • 输出: Greater
      • 描述: 多分支条件判断,根据条件返回不同的结果。

聚合函数(假设有一个名为orders的表,包含列amount

  1. COUNT(column)

    • 示例SELECT COUNT(amount) FROM orders;
      • 输出: 数字(具体取决于表中非NULL的行数)
      • 描述: 计算非NULL值的数量。
  2. SUM(column)

    • 示例SELECT SUM(amount) FROM orders;
      • 输出: 总金额
      • 描述: 计算指定列的总和。
  3. AVG(column)

    • 示例SELECT AVG(amount) FROM orders;
      • 输出: 平均金额
      • 描述: 计算指定列的平均值。
  4. MAX(column)

    • 示例SELECT MAX(amount) FROM orders;
      • 输出: 最大金额
      • 描述: 找出最大值。
  5. MIN(column)

    • 示例SELECT MIN(amount) FROM orders;
      • 输出: 最小金额
      • 描述: 找出最小值。

系统信息函数

  1. VERSION()

    • 示例SELECT VERSION() FROM DUAL;
      • 输出: MySQL Server 版本号
      • 描述: 返回MySQL服务器的版本号。
  2. DATABASE()

    • 示例SELECT DATABASE() FROM DUAL;
      • 输出: 当前数据库名
      • 描述: 返回当前选择的数据库名。
  3. USER()

    • 示例SELECT USER() FROM DUAL;
      • 输出: 当前登录用户名
      • 描述: 返回当前登录用户的用户名。

每个函数都有其特定的用途和适用场景,了解和掌握它们能帮助你更有效地处理和分析数据库中的数据。

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL常用函数有很多,包括数字函数、字符串函数、日期函数以及MySQL高级函数等等。在MySQL的帮助文档中可以找到详细的介绍和示例。以下是一些常用MySQL函数: 1. 数字函数:包括ABS()、ROUND()、CEIL()、FLOOR()等,用于对数字进行各种运算和取整操作。 2. 字符串函数:包括CONCAT()、UPPER()、LOWER()、SUBSTRING()等,用于对字符串进行各种操作,如拼接、大小写转换、截取等。 3. 日期函数:包括NOW()、CURDATE()、DATE_FORMAT()、DATE_ADD()等,用于处理日期和时间相关的操作,如获取当前日期时间、格式化日期、日期计算等。 4. 类型转换函数:包括CAST()、CONVERT()等,用于将一个值转换为指定的数据类型,如将字符串转换为整数、将日期转换为字符串等。 总的来说,MySQL提供了丰富的函数库来满足不同的需求,可以根据具体的功能需求选择合适的函数进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL常用函数大全(总结篇)](https://blog.csdn.net/zeng_ll/article/details/87706409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MySQL常用函数](https://blog.csdn.net/coco3600/article/details/100231943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值