MySQL 系统函数专项练习题

一、字符串函数练习题(10 题)

  1. 分别查询 'MySQL数据库' 的字节长度和字符个数
  2. 拼接字符串:'学号:'1001 姓名:'李四'
  3. 使用分隔符 - 拼接 '2026'0409
  4. 'mysql study' 转为大写,'MYSQL STUDY' 转为小写
  5. 去除 ' MySQL 实战 ' 左右两侧空格
  6. 截取 'hello mysql' 从第 3 个字符开始的 4 个字符
  7. 获取 'abcdefgh' 左侧 3 个字符、右侧 2 个字符
  8. '我喜欢Java' 中的 Java 替换为 MySQL
  9. 查询 'mysql is good'good 首次出现的位置
  10. 查询 'mysql''学习' 拼接后的总字节长度

<details><summary>答案</summary>

sql

复制代码
SELECT LENGTH('MySQL数据库'), CHAR_LENGTH('MySQL数据库');

结果:13、9

sql

复制代码
SELECT CONCAT('学号:',1001,' 姓名:','李四');

结果:学号:1001 姓名:李四

sql

复制代码
SELECT CONCAT_WS('-','2026','04','09');

结果:2026-04-09

sql

复制代码
SELECT UPPER('mysql study'), LOWER('MYSQL STUDY');

结果:MYSQL STUDY、mysql study

sql

复制代码
SELECT TRIM('  MySQL 实战  ');

结果:MySQL 实战

sql

复制代码
SELECT SUBSTRING('hello mysql',3,4);

结果:llo

sql

复制代码
SELECT LEFT('abcdefgh',3), RIGHT('abcdefgh',2);

结果:abc、gh

sql

复制代码
SELECT REPLACE('我喜欢Java','Java','MySQL');

结果:我喜欢 MySQL

sql

复制代码
SELECT INSTR('mysql is good','good');

结果:9

sql

复制代码
SELECT LENGTH(CONCAT('mysql','学习'));

结果:9

</details>


二、数值函数练习题(10 题)

  1. 查询 -25 的绝对值
  2. 计算 27 除以 4 的余数
  3. 3.1415926 四舍五入保留 3 位小数
  4. 6.2 向上取整,对 9.8 向下取整
  5. 计算 4 的 3 次方
  6. 49 的平方根
  7. 生成 0~1 之间的随机数
  8. 查询圆周率 π 的值
  9. 8.5 四舍五入取整数
  10. 计算 ABS(-10) + PI() 的结果

<details><summary>答案</summary>

  1. SELECT ABS(-25); → 25
  2. SELECT MOD(27,4); → 3
  3. SELECT ROUND(3.1415926,3); → 3.142
  4. SELECT CEIL(6.2), FLOOR(9.8); → 7、9
  5. SELECT POW(4,3); → 64
  6. SELECT SQRT(49); → 7
  7. SELECT RAND(); → 随机小数
  8. SELECT PI(); → 3.141593
  9. SELECT ROUND(8.5); → 9
  10. SELECT ABS(-10)+PI(); → 13.141593

</details>


三、日期时间函数练习题(15 题)

  1. 查询当前完整日期时间(NOW ())
  2. 查询当前系统实时时间(SYSDATE ())
  3. 查询当前时间戳(CURRENT_TIMESTAMP ())
  4. 查询本地当前时间(LOCALTIME ())
  5. 查询当前日期(不含时间)
  6. 查询当前时间(不含日期)
  7. 提取当前时间的年份、月份、日期
  8. 提取当前时间的小时、分钟、秒
  9. 格式化当前日期为 YYYY年MM月DD日
  10. 计算 2026-10-012026-04-09 相差天数
  11. 在当前日期上加 2 个月
  12. 在当前日期上减 10 天
  13. 查询 NOW()SYSDATE() 是否相等
  14. 提取 '2026-04-09 15:30:25' 的小时数
  15. 格式化当前时间为 HH时ii分ss秒

<details><summary>答案</summary>

  1. SELECT NOW();
  2. SELECT SYSDATE();
  3. SELECT CURRENT_TIMESTAMP();
  4. SELECT LOCALTIME();
  5. SELECT CURDATE();
  6. SELECT CURTIME();
  7. SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());
  8. SELECT HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());
  9. SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日');
  10. SELECT DATEDIFF('2026-10-01','2026-04-09'); → 175
  11. SELECT DATE_ADD(CURDATE(),INTERVAL 2 MONTH);
  12. SELECT DATE_SUB(CURDATE(),INTERVAL 10 DAY);
  13. SELECT NOW()=SYSDATE(); → 一般为 1(相等)
  14. SELECT HOUR('2026-04-09 15:30:25'); →15
  15. SELECT DATE_FORMAT(NOW(),'%H时%i分%s秒');

</details>


四、条件判断函数练习题(6 题)

  1. 判断 75 是否≥60,是返回及格,否返回不及格
  2. 若字段值为 NULL,显示无成绩,否则显示原值(用 IFNULL)
  3. 比较 1010,相等返回 NULL,否则返回前者
  4. 对成绩 92 分级:≥90 优秀,≥60 及格,否则不及格
  5. 对成绩 NULL 显示缺考,59 显示不及格,85 显示及格
  6. 使用 CASE WHEN 判断 150 是否大于 100,返回是/否

<details><summary>答案</summary>

sql

复制代码
SELECT IF(75>=60,'及格','不及格');

→ 及格

sql

复制代码
SELECT IFNULL(NULL,'无成绩');

→ 无成绩

sql

复制代码
SELECT NULLIF(10,10);

→ NULL

sql

复制代码
SELECT CASE WHEN 92>=90 THEN '优秀' WHEN 92>=60 THEN '及格' ELSE '不及格' END;

→ 优秀

sql

复制代码
SELECT CASE WHEN NULL IS NULL THEN '缺考' WHEN 59<60 THEN '不及格' ELSE '及格' END;

→ 缺考

sql

复制代码
SELECT CASE WHEN 150>100 THEN '是' ELSE '否' END;

→ 是

</details>


五、系统信息函数练习题(4 题)

  1. 查询当前 MySQL 版本号
  2. 查询当前正在使用的数据库名
  3. 查询当前登录数据库的用户
  4. 对字符串 '123456' 进行 MD5 加密

<details><summary>答案</summary>

  1. SELECT VERSION();
  2. SELECT DATABASE();
  3. SELECT USER();
  4. SELECT MD5('123456'); → e10adc3949ba59abbe56e057f20f883e

</details>


六、综合练习题(5 题)

  1. 查询 'MySQL' 的字符长度 + 圆周率的整数部分
  2. 拼接当前日期和'学习打卡',格式:2026-04-09 学习打卡
  3. 对成绩 88.6 四舍五入为整数,并判断是否及格
  4. 去除 ' mysql函数练习 ' 空格后转大写
  5. 查询当前时间的年份减去 2020 的结果

<details><summary>答案</summary>

  1. SELECT CHAR_LENGTH('MySQL')+FLOOR(PI()); → 5+3=8
  2. SELECT CONCAT(CURDATE(),'学习打卡');
  3. SELECT IF(ROUND(88.6)>=60,'及格','不及格'); → 及格
  4. SELECT UPPER(TRIM(' mysql函数练习 ')); → MYSQL 函数练习
  5. SELECT YEAR(NOW())-2020; → 6

</details>

相关推荐
Wenweno0o3 小时前
Ubuntu 系统配置 VS Code C++ 开发环境
数据库·c++·ubuntu
ayt0073 小时前
Netty NioEventLoopGroup源码深度剖析:高性能网络编程的核心引擎
服务器·前端·数据库
傻啦嘿哟3 小时前
Python 实现 Excel 数据可视化:柱状图制作教程
开发语言·python
Chasing__Dreams3 小时前
Mysql--基础知识点--97--UNION ALL VS UNION
数据库·mysql
老苏畅谈运维3 小时前
Oracle 26ai 向量搜索零入门:从模型加载到语义检索初体验
数据库·oracle·oracle 26ai
ZC跨境爬虫3 小时前
海南大学交友平台登录页开发实战day3(解决python传输并读取登录信息的问题)
前端·数据库·python·html
2601_954434553 小时前
2026年电钢琴品牌专业深度测评:排名前五权威榜单发布
大数据·人工智能·python
JosieBook3 小时前
【数据库】为何“端边云”协同架构正在重塑大数据存储格局?
大数据·数据库·架构
威联通网络存储3 小时前
非结构化数据治理:底层全文检索与自动化归档解析
运维·python·自动化·全文检索