SQL常用函数大全涵盖了多种功能,包括日期和时间处理、字符串操作、数值计算、聚合、转换等,日期函数如CURRENT_DATE
、EXTRACT
用于获取日期部分;字符串函数如CONCAT
、UPPER
、LOWER
用于连接和转换大小写;数值函数如ROUND
、ABS
用于四舍五入和取绝对值;聚合函数如SUM
、COUNT
、AVG
用于求和、计数和平均值;转换函数如CAST
、CONVERT
用于数据类型转换,还有系统函数、条件函数等,为SQL查询提供强大支持。
SQL常用函数大全——掌握数据库操作
用户解答: 嗨,我是小李,最近在学SQL,发现数据库操作中有很多函数,但是感觉有点混乱,不知道哪些是常用的,哪些功能又是什么,能给我介绍一下SQL中常用的函数吗?
当然可以,小李,SQL(Structured Query Language)是数据库操作的基础,其中的函数可以帮助我们更高效地处理数据,下面我就来为你详细介绍一些常用的SQL函数,让你对它们有一个清晰的认识。
ABS():返回数字的绝对值。
SELECT ABS(-5) AS AbsoluteValue;
返回结果:5CEILING():返回大于或等于参数的最小整数。
SELECT CEILING(4.3) AS RoundedUp;
返回结果:5FLOOR():返回小于或等于参数的最大整数。
SELECT FLOOR(4.7) AS RoundedDown;
返回结果:4ROUND():返回指定小数位数的数值。
SELECT ROUND(3.14159, 2) AS RoundedValue;
返回结果:14MOD():返回两个数值相除的余数。
SELECT MOD(10, 3) AS Remainder;
返回结果:1CURRENT_DATE:返回当前日期。
SELECT CURRENT_DATE;
返回当前日期。CURRENT_TIME:返回当前时间。
SELECT CURRENT_TIME;
返回当前时间。CURRENT_TIMESTAMP:返回当前日期和时间。
SELECT CURRENT_TIMESTAMP;
返回当前日期和时间。EXTRACT():从日期时间值中提取特定部分。
SELECT EXTRACT(YEAR FROM CURRENT_DATE) AS CurrentYear;
返回当前年份。DATEDIFF():计算两个日期之间的天数差。
SELECT DATEDIFF(CURRENT_DATE, '2023-01-01') AS DaysPassed;
返回从2023年1月1日到当前日期的天数。UPPER():将字符串转换为大写。
SELECT UPPER('hello world') AS Uppercase;
返回结果:HELLO WORLDLOWER():将字符串转换为小写。
SELECT LOWER('HELLO WORLD') AS Lowercase;
返回结果:hello worldLENGTH():返回字符串的长度。
SELECT LENGTH('SQL') AS Length;
返回结果:3CONCAT():连接两个或多个字符串。
SELECT CONCAT('SQL', ' is ', 'powerful') AS Concatenated;
返回结果:SQL is powerfulSUBSTRING():从字符串中提取子字符串。
SELECT SUBSTRING('SQL', 1, 3) AS Substring;
返回结果:SQLSUM():计算数值列的总和。
SELECT SUM(salary) AS TotalSalary FROM employees;
返回员工薪资总和。AVG():计算数值列的平均值。
SELECT AVG(salary) AS AverageSalary FROM employees;
返回员工薪资平均值。COUNT():计算非空值的数量。
SELECT COUNT(*) AS TotalRecords FROM customers;
返回客户记录总数。MIN():返回数值列的最小值。
SELECT MIN(salary) AS MinSalary FROM employees;
返回员工薪资最小值。MAX():返回数值列的最大值。
SELECT MAX(salary) AS MaxSalary FROM employees;
返回员工薪资最大值。通过以上介绍,相信你已经对SQL中的常用函数有了更深入的了解,掌握这些函数,将有助于你在数据库操作中更加得心应手,多加练习,才能熟练运用这些函数,祝你学习愉快!
其他相关扩展阅读资料参考文献:
字符串函数处理
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
会将"张三"和"李四"拼接为"张三 李四"。 SUBSTRING(str, start, length)
,若需提取手机号中间四位,可使用SUBSTRING(phone, 4, 4)
,直接定位位置无需额外计算。 TRIM(' abc ')
会返回"abc",在清洗数据时,如处理用户输入的地址字段,TRIM(address)
可避免因多余空格导致的匹配错误。 UPPER(email)
可将"zhangsan@163.com"转为"ZHANGSAN@163.COM",便于后续的模糊查询或数据比对。 REPLACE(description, '旧内容', '新内容')
能批量修正数据中的错误,例如替换所有"旧版"为"新版"的字段内容,提升数据一致性。日期时间函数应用
SELECT NOW();
可直接获取"2023-10-05 14:30:00",在记录操作时间或计算时效性时,这是最常用的基准点。 DATEDIFF(end_date, start_date)
返回天数差,例如统计订单处理时长:DATEDIFF(order_end, order_start)
。 DATE_ADD(create_time, INTERVAL 30 DAY)
可将创建时间延后30天,常用于生成未来日期或计算截止时间。 EXTRACT(YEAR FROM order_date)
获取年份,在分析年度销售数据时,可快速拆分时间维度。 STR_TO_DATE('2023-10-05', '%Y-%m-%d')
能正确解析格式化字符串,适用于处理非标准日期格式的字段。数值函数优化计算
ROUND(1.2345, 2)
返回1.23,在统计平均价格或百分比时,可避免小数位过多影响可读性。 FLOOR(3.999)
返回3,CEIL(3.001)
返回4,常用于处理需要整数结果的业务场景,如计算库存批次。 ABS(-150)
等于150,在计算差额或距离时,可直接消除负号干扰。 MOD(10, 3)
返回1,适用于判断数据是否符合特定周期,如筛选出能被5整除的订单编号。 CONV('1A', 16, 10)
将十六进制转为十进制,在处理二进制或十六进制存储的数据时非常关键。聚合函数统计分析
COUNT(*)
统计总记录,COUNT(order_id)
统计有效订单,注意区分统计字段与通配符的使用场景。 SUM(price)
可汇总销售额,在财务报表或库存统计中,这是最基础的聚合工具。 AVG(score)
能分析用户评分趋势,但需注意排除NULL值,否则结果可能失真。 MAX(create_time)
可定位最新记录,在监控系统状态或筛选异常数据时效果显著。 GROUP_CONCAT(name SEPARATOR ',')
能生成逗号分隔的列表,适用于生成汇总报告或导出数据。条件函数灵活控制
CASE WHEN status='已完成' THEN 1 ELSE 0 END
可标记订单状态,比IF函数更灵活,支持复杂逻辑判断。 IFNULL(phone, '暂无')
能避免NULL值导致的显示问题,在展示用户信息时特别实用。 COALESCE(email, mobile, '无联系方式')
可确保至少有一个联系方式被展示,比IFNULL支持更多参数。 NULLIF(100, 0)
返回NULL而非报错,在计算比例或平均值时,可预防非法操作。 LEAST(10, 20, 30)
返回10,GREATEST(10, 20, 30)
返回30,适用于筛选极端值或设置默认边界。实用技巧:
ROUND(AVG(score), 2)
可先计算平均值再四舍五入,但需注意性能影响。 CAST('123' AS UNSIGNED)
能将字符串转为整数,避免因类型不匹配导致的错误。 CONCAT(UPPER(name), ' - ', DATE_FORMAT(create_time, '%Y年%m月'))
可生成格式统一的标题。 DATEDIFF(end, start)
返回的是天数差,若需精确到小时需改用TIMESTAMPDIFF(HOUR, start, end)
。 COUNT(*)
比COUNT(主键)
效率更低,应根据实际需求选择统计字段。进阶场景:
DATE_ADD(create_time, INTERVAL 1 DAY)
配合BETWEEN
可统计每日新增数据。 MOD(id, 2)=0
筛选偶数ID记录,STR_TO_DATE(date_str, '%Y-%m-%d')
验证日期格式合法性。 CASE WHEN sales > 1000 THEN '高' ELSE '低' END
实现销售等级划分,替代繁琐的IF语句。 COUNT(DISTINCT user_id)
精准统计独立用户数量,避免重复计数导致偏差。 DATE_FORMAT(order_date, '%Y-%m-%d %H:%i')
将日期转为特定格式,提升数据展示效果。
掌握这些函数能显著提升SQL查询效率,但需注意函数参数顺序和数据类型匹配,例如SUBSTRING(str, start, length)
的起始位置从1开始,而DATE_ADD
的间隔单位需与字段类型兼容,建议通过实际案例反复练习,如使用CONCAT
构建完整地址、DATEDIFF
计算用户活跃周期、CASE WHEN
生成标签分类,函数的灵活组合(如ROUND(AVG(...))
)可解决复杂业务需求,但需平衡可读性与性能,避免过度嵌套影响执行效率。查阅文档确认函数语法细节,不同数据库系统(如MySQL与PostgreSQL)的函数实现可能存在差异,需根据具体环境调整使用策略。
源程序文件,通常指的是包含计算机程序原始代码的文件,这些代码是由程序员使用编程语言编写的,用于指导计算机执行特定任务,源程序文件不直接执行,需要通过编译器或解释器将其转换为机器码或字节码,才能被计算机理解并执行,C语言源程序文件以.c为扩展名,而Python的源程序文件则以.py 嗨,我最近在学习...
提供180度正余弦值表,详细列出0至180度每个角度的正弦和余弦值,此表适用于数学、物理、工程等领域,帮助快速查找特定角度的正余弦值,便于计算和推导。 嗨,我最近在学习三角函数,特别是正弦和余弦函数,我在做习题时遇到了一个难题,就是需要查找0到180度之间各个角度的正弦和余弦值,我听说有一个专门的...
full height”过于简短,无法生成摘要,请提供更详细的信息或文章内容,以便我为您生成摘要。探索“full height”:全面解析其内涵与实际应用 真实用户解答: “full height”这个词我第一次听说是在装修的时候,当时设计师说这个设计理念可以让我家的空间显得更加高大上,我当时还...
为了使用C语言进行编程,您需要下载并安装C语言编译器,如GCC(GNU Compiler Collection),可能还需要文本编辑器或集成开发环境(IDE)来编写和调试代码,请确保选择适合您操作系统的版本,并按照官方指南完成安装过程。C语言编程:你需要下载哪些软件? 真实用户解答: 作为一名编...
Bootstrap是一个流行的前端框架,用于快速开发响应式、移动优先的网站和应用程序,它提供了一系列预先设计好的CSS样式、组件和JavaScript插件,简化了网页布局和交互开发过程,通过使用Bootstrap,开发者可以节省时间,实现跨平台兼容性,并确保网站在不同设备上均有良好表现。 我一直想...
CSSCI(中国社会科学引文索引)期刊涵盖了众多领域,包括但不限于经济学、管理学、法学、教育学、文学、历史学、哲学、艺术学、社会学、政治学等,具体包括《中国社会科学》、《经济学研究》、《管理世界》、《法学研究》、《教育研究》、《文学评论》、《历史研究》、《哲学研究》、《艺术研究》、《社会学刊》等,这...