当前位置:首页 > 编程语言 > 正文内容

sql常用函数大全,SQL必备函数手册

wzgly3个月前 (05-30)编程语言21
SQL常用函数大全涵盖了多种功能,包括日期和时间处理、字符串操作、数值计算、聚合、转换等,日期函数如CURRENT_DATEEXTRACT用于获取日期部分;字符串函数如CONCATUPPERLOWER用于连接和转换大小写;数值函数如ROUNDABS用于四舍五入和取绝对值;聚合函数如SUMCOUNTAVG用于求和、计数和平均值;转换函数如CASTCONVERT用于数据类型转换,还有系统函数、条件函数等,为SQL查询提供强大支持。

SQL常用函数大全——掌握数据库操作

用户解答: 嗨,我是小李,最近在学SQL,发现数据库操作中有很多函数,但是感觉有点混乱,不知道哪些是常用的,哪些功能又是什么,能给我介绍一下SQL中常用的函数吗?

当然可以,小李,SQL(Structured Query Language)是数据库操作的基础,其中的函数可以帮助我们更高效地处理数据,下面我就来为你详细介绍一些常用的SQL函数,让你对它们有一个清晰的认识。

sql常用函数大全

一:数值函数

  1. ABS():返回数字的绝对值。

    • 示例:SELECT ABS(-5) AS AbsoluteValue; 返回结果:5
  2. CEILING():返回大于或等于参数的最小整数。

    • 示例:SELECT CEILING(4.3) AS RoundedUp; 返回结果:5
  3. FLOOR():返回小于或等于参数的最大整数。

    • 示例:SELECT FLOOR(4.7) AS RoundedDown; 返回结果:4
  4. ROUND():返回指定小数位数的数值。

    • 示例:SELECT ROUND(3.14159, 2) AS RoundedValue; 返回结果:14
  5. MOD():返回两个数值相除的余数。

    sql常用函数大全
    • 示例:SELECT MOD(10, 3) AS Remainder; 返回结果:1

二:日期和时间函数

  1. CURRENT_DATE:返回当前日期。

    • 示例:SELECT CURRENT_DATE; 返回当前日期。
  2. CURRENT_TIME:返回当前时间。

    • 示例:SELECT CURRENT_TIME; 返回当前时间。
  3. CURRENT_TIMESTAMP:返回当前日期和时间。

    • 示例:SELECT CURRENT_TIMESTAMP; 返回当前日期和时间。
  4. EXTRACT():从日期时间值中提取特定部分。

    • 示例:SELECT EXTRACT(YEAR FROM CURRENT_DATE) AS CurrentYear; 返回当前年份。
  5. DATEDIFF():计算两个日期之间的天数差。

    sql常用函数大全
    • 示例:SELECT DATEDIFF(CURRENT_DATE, '2023-01-01') AS DaysPassed; 返回从2023年1月1日到当前日期的天数。

三:字符串函数

  1. UPPER():将字符串转换为大写。

    • 示例:SELECT UPPER('hello world') AS Uppercase; 返回结果:HELLO WORLD
  2. LOWER():将字符串转换为小写。

    • 示例:SELECT LOWER('HELLO WORLD') AS Lowercase; 返回结果:hello world
  3. LENGTH():返回字符串的长度。

    • 示例:SELECT LENGTH('SQL') AS Length; 返回结果:3
  4. CONCAT():连接两个或多个字符串。

    • 示例:SELECT CONCAT('SQL', ' is ', 'powerful') AS Concatenated; 返回结果:SQL is powerful
  5. SUBSTRING():从字符串中提取子字符串。

    • 示例:SELECT SUBSTRING('SQL', 1, 3) AS Substring; 返回结果:SQL

四:聚合函数

  1. SUM():计算数值列的总和。

    • 示例:SELECT SUM(salary) AS TotalSalary FROM employees; 返回员工薪资总和。
  2. AVG():计算数值列的平均值。

    • 示例:SELECT AVG(salary) AS AverageSalary FROM employees; 返回员工薪资平均值。
  3. COUNT():计算非空值的数量。

    • 示例:SELECT COUNT(*) AS TotalRecords FROM customers; 返回客户记录总数。
  4. MIN():返回数值列的最小值。

    • 示例:SELECT MIN(salary) AS MinSalary FROM employees; 返回员工薪资最小值。
  5. MAX():返回数值列的最大值。

    • 示例:SELECT MAX(salary) AS MaxSalary FROM employees; 返回员工薪资最大值。

通过以上介绍,相信你已经对SQL中的常用函数有了更深入的了解,掌握这些函数,将有助于你在数据库操作中更加得心应手,多加练习,才能熟练运用这些函数,祝你学习愉快!

其他相关扩展阅读资料参考文献:

字符串函数处理

  1. CONCAT函数是字符串拼接的核心工具,可将多个字段或值合并为一个字符串。SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users; 会将"张三"和"李四"拼接为"张三 李四"。
  2. SUBSTRING函数用于截取字符串特定部分,语法为SUBSTRING(str, start, length),若需提取手机号中间四位,可使用SUBSTRING(phone, 4, 4),直接定位位置无需额外计算。
  3. TRIM函数能高效去除字符串两端的空格,TRIM(' abc ')会返回"abc",在清洗数据时,如处理用户输入的地址字段,TRIM(address)可避免因多余空格导致的匹配错误。
  4. UPPER/LOWER函数常用于统一文本格式,UPPER(email)可将"zhangsan@163.com"转为"ZHANGSAN@163.COM",便于后续的模糊查询或数据比对。
  5. REPLACE函数支持字符串替换,REPLACE(description, '旧内容', '新内容')能批量修正数据中的错误,例如替换所有"旧版"为"新版"的字段内容,提升数据一致性。

日期时间函数应用

  1. NOW函数返回当前系统时间,SELECT NOW();可直接获取"2023-10-05 14:30:00",在记录操作时间或计算时效性时,这是最常用的基准点。
  2. DATEDIFF函数计算两个日期之间的间隔,DATEDIFF(end_date, start_date)返回天数差,例如统计订单处理时长:DATEDIFF(order_end, order_start)
  3. DATE_ADD函数实现日期加减操作,DATE_ADD(create_time, INTERVAL 30 DAY)可将创建时间延后30天,常用于生成未来日期或计算截止时间。
  4. EXTRACT函数提取日期中的特定部分,如EXTRACT(YEAR FROM order_date)获取年份,在分析年度销售数据时,可快速拆分时间维度。
  5. STR_TO_DATE函数将字符串转换为日期类型,STR_TO_DATE('2023-10-05', '%Y-%m-%d')能正确解析格式化字符串,适用于处理非标准日期格式的字段。

数值函数优化计算

  1. ROUND函数实现四舍五入,ROUND(1.2345, 2)返回1.23,在统计平均价格或百分比时,可避免小数位过多影响可读性。
  2. FLOOR/CEIL函数分别取整到下界和上界,FLOOR(3.999)返回3,CEIL(3.001)返回4,常用于处理需要整数结果的业务场景,如计算库存批次。
  3. ABS函数返回绝对值,ABS(-150)等于150,在计算差额或距离时,可直接消除负号干扰。
  4. MOD函数求余运算,MOD(10, 3)返回1,适用于判断数据是否符合特定周期,如筛选出能被5整除的订单编号。
  5. CONV函数实现不同进制转换,CONV('1A', 16, 10)将十六进制转为十进制,在处理二进制或十六进制存储的数据时非常关键。

聚合函数统计分析

  1. COUNT函数统计行数,COUNT(*)统计总记录,COUNT(order_id)统计有效订单,注意区分统计字段与通配符的使用场景。
  2. SUM函数计算数值总和,SUM(price)可汇总销售额,在财务报表或库存统计中,这是最基础的聚合工具。
  3. AVG函数求平均值,AVG(score)能分析用户评分趋势,但需注意排除NULL值,否则结果可能失真。
  4. MAX/MIN函数获取最大值与最小值,MAX(create_time)可定位最新记录,在监控系统状态或筛选异常数据时效果显著。
  5. GROUP_CONCAT函数将多行数据合并为字符串,GROUP_CONCAT(name SEPARATOR ',')能生成逗号分隔的列表,适用于生成汇总报告或导出数据。

条件函数灵活控制

  1. CASE WHEN函数实现多条件分支,CASE WHEN status='已完成' THEN 1 ELSE 0 END可标记订单状态,比IF函数更灵活,支持复杂逻辑判断。
  2. IFNULL函数处理空值,IFNULL(phone, '暂无')能避免NULL值导致的显示问题,在展示用户信息时特别实用。
  3. COALESCE函数返回第一个非空值,COALESCE(email, mobile, '无联系方式')可确保至少有一个联系方式被展示,比IFNULL支持更多参数。
  4. NULLIF函数避免除零错误,NULLIF(100, 0)返回NULL而非报错,在计算比例或平均值时,可预防非法操作。
  5. LEAST/GREATEST函数比较多个值,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)的函数实现可能存在差异,需根据具体环境调整使用策略。

扫描二维码推送至手机访问。

版权声明:本文由码界编程网发布,如需转载请注明出处。

本文链接:http://b2b.dropc.cn/bcyy/557.html

分享给朋友:

“sql常用函数大全,SQL必备函数手册” 的相关文章

源程序文件是什么意思,源程序文件的定义与解读

源程序文件是什么意思,源程序文件的定义与解读

源程序文件,通常指的是包含计算机程序原始代码的文件,这些代码是由程序员使用编程语言编写的,用于指导计算机执行特定任务,源程序文件不直接执行,需要通过编译器或解释器将其转换为机器码或字节码,才能被计算机理解并执行,C语言源程序文件以.c为扩展名,而Python的源程序文件则以.py 嗨,我最近在学习...

0 180正余弦值表,180度正余弦值对照表

0 180正余弦值表,180度正余弦值对照表

提供180度正余弦值表,详细列出0至180度每个角度的正弦和余弦值,此表适用于数学、物理、工程等领域,帮助快速查找特定角度的正余弦值,便于计算和推导。 嗨,我最近在学习三角函数,特别是正弦和余弦函数,我在做习题时遇到了一个难题,就是需要查找0到180度之间各个角度的正弦和余弦值,我听说有一个专门的...

full height,全高度体验之旅

full height,全高度体验之旅

full height”过于简短,无法生成摘要,请提供更详细的信息或文章内容,以便我为您生成摘要。探索“full height”:全面解析其内涵与实际应用 真实用户解答: “full height”这个词我第一次听说是在装修的时候,当时设计师说这个设计理念可以让我家的空间显得更加高大上,我当时还...

c语言要下载的软件,C语言编程必备软件下载指南

c语言要下载的软件,C语言编程必备软件下载指南

为了使用C语言进行编程,您需要下载并安装C语言编译器,如GCC(GNU Compiler Collection),可能还需要文本编辑器或集成开发环境(IDE)来编写和调试代码,请确保选择适合您操作系统的版本,并按照官方指南完成安装过程。C语言编程:你需要下载哪些软件? 真实用户解答: 作为一名编...

bootstrap网站,Bootstrap驱动的现代网站设计指南

bootstrap网站,Bootstrap驱动的现代网站设计指南

Bootstrap是一个流行的前端框架,用于快速开发响应式、移动优先的网站和应用程序,它提供了一系列预先设计好的CSS样式、组件和JavaScript插件,简化了网页布局和交互开发过程,通过使用Bootstrap,开发者可以节省时间,实现跨平台兼容性,并确保网站在不同设备上均有良好表现。 我一直想...

cssci包括哪些期刊,CSSCI收录期刊一览

cssci包括哪些期刊,CSSCI收录期刊一览

CSSCI(中国社会科学引文索引)期刊涵盖了众多领域,包括但不限于经济学、管理学、法学、教育学、文学、历史学、哲学、艺术学、社会学、政治学等,具体包括《中国社会科学》、《经济学研究》、《管理世界》、《法学研究》、《教育研究》、《文学评论》、《历史研究》、《哲学研究》、《艺术研究》、《社会学刊》等,这...