07丨什么是SQL函数?为什么使用SQL函数可能会带来问题?
该思维导图由 AI 生成,仅供参考
什么是 SQL 函数
常用的 SQL 函数有哪些
- 深入了解
- 翻译
- 解释
- 总结
SQL函数是数据库中对数据进行操作的工具,可以执行算术运算、字符串处理、日期处理和数据类型转换等操作。本文介绍了SQL中常用的内置函数,包括算术函数、字符串函数、日期函数和转换函数,并提供了每种函数的具体用法和示例。通过对王者荣耀英雄数据库的操作示例,读者可以了解如何使用SQL函数对数据表进行处理,包括四舍五入、求最大值、字符串长度、日期提取、日期比较和求平均值等操作。文章通过实际示例展示了SQL函数的应用场景和操作方法,帮助读者快速了解SQL函数的基本概念和用法。 此外,文章还提到了使用SQL函数时需要注意的问题,如不同数据库软件对函数的支持差异,以及在不同操作系统环境下的大小写规范。作者建议在使用函数时要格外留意,特别是在系统集成或多个DBMS同时存在的情况下。最后,文章提出了一道练习题,要求读者使用SQL函数计算英雄的最大生命平均值,并显示所有在2017年之前上线的英雄。 总之,本文通过清晰的示例和实用的建议,帮助读者全面了解SQL函数的基本概念和用法,同时引发了读者对SQL函数在实际应用中可能遇到的问题的思考。
《SQL 必知必会》,新⼈⾸单¥68
全部留言(122)
- 最新
- 精选
- 菜菜学得我想打王者荣耀了
作者回复: 很好 我已经很久没打了,昨天整理稿子的时候也有冲突想开一局,不过还是忍住了,一方面手机存储空间满了,另一方面还是多学习和工作,会让状态更好
2019-06-28429 - supermouse计算英雄的最大生命平均值: SELECT AVG(hp_max) FROM heros; 显示所有在2017年之前上线的英雄: SELECT name FROM heros WHERE birthdate IS NOT NULL AND YEAR(birthdate) < 2017;
作者回复: 正确
2019-06-2720 - 番茄能请教下,mysql不能用with table as 这个语句,要用什么来替代这个比较方便呢
作者回复: with table as是在ORACLE中的用法,相当于临时表的作用,在MySQL中可以使用: CREATE TEMPORARY TABLE t AS ( SELECT * FROM player );
2019-08-1227 - Andre答案:SELECT avg(hp_max) as avg_hp FROM heros; SELECT `name` FROM heros WHERE birthdate is NOT NULL AND DATE(birthdate)<'2017-01-01'; 另外赞同时间是最真的答案的说法,应该来讲基础篇大家都还是学起来不费力的,希望基础篇能够快点更新,然后尽快的进入进阶篇
作者回复: 谢谢 基础篇让大家都有个共识的基础,掌握的人也可以快速复习一遍,进阶篇会有更多关于性能调优,高可用架构等
2019-06-277 - Abyssknightselect avg(hp_max) as avg_hp from heros; select name, birthdate from heros where birthdate < date('2017-01-01');
作者回复: Good Job
2019-06-2623 - 海洋作业: SELECT AVG(hp_max) FROM heros; +-------------------+ | AVG(hp_max) | +-------------------+ | 6580.478260869565 | +-------------------+ 1 row in set (0.07 sec) ------------------------------------------- SELECT name FROM heros WHERE Year(birthdate) < 2017 AND birthdate is NOT NULL; +----------+ | name | +----------+ | 夏侯惇 | | 牛魔 | | 吕布 | | 芈月 | | 太乙真人 | | 刘邦 | | 关羽 | | 马可波罗 | | 李元芳 | | 虞姬 | | 成吉思汗 | | 不知火舞 | | 貂蝉 | | 周瑜 | | 张良 | | 钟馗 | | 蔡文姬 | | 花木兰 | | 李白 | | 杨戬 | | 刘备 | | 宫本武藏 | | 娜可露露 | +----------+ 或者 SELECT name FROM heros WHERE DATE(birthdate) <'2017-01-01' AND birthdate is NOT NULL;
作者回复: Good Job
2019-08-122 - ElliotDBMS 之间的差异性很大,远大于同一个语言不同版本之间的差... 说明学数据库也难免会遇到各种看似毫无技术含量的坑喽。。。
作者回复: DBMS一般都有自己的方言,不过这些方言都很好理解。比如MySQL可以用LIMIT截取所需的数据行,而Oracle需要使用ROWNUM关键字通过子查询来完成。
2019-07-072 - 不负> SELECT ROUND(AVG(hp_max), 2) FROM heros; +-----------------------+ | ROUND(AVG(hp_max), 2) | +-----------------------+ | 6580.48 | +-----------------------+ > SELECT name FROM heros WHERE birthdate IS NOT NULL AND DATE(birthdate)<'2017-01-01';
作者回复: 正确,你也可以使用YEAR(birthdate)<2017
2019-06-271 - 圆子蛋1. SELECT AVG(max_hp) FROM heros; 2. SELECT name,YEAR(birthdate) AS birthdate FROM heros WHERE birthdate is NOT NULL AND YEAR(birthdate)<2017
作者回复: Good Job
2019-06-261 - Amo,今日打卡sql函数
作者回复: 加油~
2020-03-22