首页 > 数据库 >SQL函数大集锦

SQL函数大集锦

时间:2025-01-13 09:05:07浏览次数:3  
标签:salary Functions 函数 employees 集锦 SQL SELECT name

SQL 提供了很多不同类型的函数,用于在查询中处理和操作数据。SQL 函数通常可以分为以下几类:

  1. 聚合函数(Aggregate Functions)
  2. 字符串函数(String Functions)
  3. 数值函数(Numeric Functions)
  4. 日期和时间函数(Date and Time Functions)
  5. 条件函数(Conditional Functions)
  6. 转换函数(Conversion Functions)
  7. 窗口函数(Window Functions)
  8. 其他函数(如:JSON、NULL 等函数)

下面是一些常见 SQL 函数的详细用法:


1. 聚合函数(Aggregate Functions)

这些函数通常用于对结果集的多个行进行计算,返回一个单一的值。

  • COUNT():返回符合条件的行数

SELECT COUNT(*) FROM employees;
  • SUM():返回列中所有数值的总和

SELECT SUM(salary) FROM employees;
  • AVG():返回列的平均值

SELECT AVG(salary) FROM employees;
  • MAX():返回列中的最大值

SELECT MAX(salary) FROM employees;
  • MIN():返回列中的最小值

SELECT MIN(salary) FROM employees;
  • GROUP_CONCAT():将多行数据连接为一个字符串

SELECT GROUP_CONCAT(name) FROM employees;

2. 字符串函数(String Functions)

用于处理字符串数据的函数。

  • CONCAT():连接两个或多个字符串

SELECT CONCAT(first_name, ' ', last_name) FROM employees;
  • LENGTH():返回字符串的长度

SELECT LENGTH(name) FROM employees;
  • SUBSTRING():从字符串中提取子字符串

SELECT SUBSTRING(name, 1, 3) FROM employees;
  • UPPER():将字符串转换为大写

SELECT UPPER(name) FROM employees;
  • LOWER():将字符串转换为小写

SELECT LOWER(name) FROM employees;
  • TRIM():去除字符串两端的空白字符

SELECT TRIM(' ' FROM name) FROM employees;
  • REPLACE():替换字符串中的部分内容

SELECT REPLACE(name, 'John', 'Mike') FROM employees;

3. 数值函数(Numeric Functions)

用于处理数值数据的函数。

  • ABS():返回数字的绝对值

SELECT ABS(-10);
  • ROUND():四舍五入数字

SELECT ROUND(123.456, 2); -- 结果: 123.46
  • FLOOR():返回小于等于指定数字的最大整数

SELECT FLOOR(123.456);
  • CEIL()CEILING():返回大于等于指定数字的最小整数

SELECT CEIL(123.456);
  • RAND():返回一个随机的浮动值(通常在 0 和 1 之间)

SELECT RAND();

4. 日期和时间函数(Date and Time Functions)

用于处理日期和时间数据的函数。

  • NOW():返回当前的日期和时间

SELECT NOW();
  • CURDATE():返回当前的日期

SELECT CURDATE();
  • CURTIME():返回当前的时间

SELECT CURTIME();
  • DATE():从日期时间中提取日期部分

SELECT DATE('2025-01-11 12:30:00');
  • YEAR():返回日期中的年份部分

SELECT YEAR('2025-01-11');
  • MONTH():返回日期中的月份部分

SELECT MONTH('2025-01-11');
  • DAY():返回日期中的天部分

SELECT DAY('2025-01-11');
  • DATEDIFF():返回两个日期之间的差值(天数)

SELECT DATEDIFF('2025-01-11', '2025-01-01');
  • DATE_ADD():在日期上加上指定的时间间隔

SELECT DATE_ADD('2025-01-01', INTERVAL 5 DAY);

5. 条件函数(Conditional Functions)

用于基于条件选择结果的函数。

  • IF():在 SQL 中执行条件判断

SELECT IF(salary > 50000, 'High', 'Low') FROM employees;
  • CASE:执行更复杂的条件判断

SELECT CASE
         WHEN salary > 50000 THEN 'High'
         WHEN salary BETWEEN 30000 AND 50000 THEN 'Medium'
         ELSE 'Low'
       END AS salary_level
FROM employees;

6. 转换函数(Conversion Functions)

用于转换数据类型的函数。

  • CAST():转换数据类型

SELECT CAST(salary AS CHAR) FROM employees;
  • CONVERT():转换数据类型(通常与 CAST() 类似)

SELECT CONVERT(salary, CHAR) FROM employees;

7. 窗口函数(Window Functions)

这些函数在查询结果的“窗口”中计算值,而无需聚合整个表。

  • ROW_NUMBER():返回结果集中的行号

SELECT ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num, name, salary
FROM employees;
  • RANK():为每一行分配排名

SELECT RANK() OVER (ORDER BY salary DESC) AS rank, name, salary
FROM employees;
  • DENSE_RANK():分配排名,跳过相同排名值的行

SELECT DENSE_RANK() OVER (ORDER BY salary DESC) AS dense_rank, name, salary
FROM employees;
  • NTILE():将数据分为指定数量的桶

SELECT NTILE(4) OVER (ORDER BY salary DESC) AS quartile, name, salary
FROM employees;

8. 其他函数

  • ISNULL()COALESCE():处理 NULL 值,不是空值,返回原本值,是空值,返回替代值0

SELECT ISNULL(salary, 0) FROM employees;
  • JSON_EXTRACT():提取 JSON 字段中的数据

SELECT JSON_EXTRACT(details, '$.address.city') FROM users;

        这些函数在不同的 SQL 数据库(如 MySQL、PostgreSQL、SQL Server、Oracle)中可能略有差异,因此在具体使用时应参考相应的数据库文档。

标签:salary,Functions,函数,employees,集锦,SQL,SELECT,name
From: https://blog.csdn.net/m0_65776770/article/details/145076332

相关文章

  • GBase DATE(expr) 函数详解
    DATE(expr) 是一个用于从日期或日期时间表达式中提取日期部分的日期和时间函数。它在数据分析、报告生成、数据清洗、时间序列处理以及各种需要处理和转换日期数据的场景中非常实用。通过 DATE 函数,用户可以轻松地获取日期部分,忽略时间部分,从而简化日期相关的计算和比较。1. ......
  • Microsoft Sql Server 2019 函数理解
    说到函数,首先和存储过程作个比较吧,两者有一个共同点都是预编译优化后存储在磁盘中,所以效率要比T-SQL高一点点。值得注意的是,存储过程可以创建或访问临时表,而函数不可以;同时函数不可以修改表中的数据,或调用产生副作用的函数,比如rand,newid,getdate(当然这并不是绝对的);但是函......
  • Gbase CURTIME() 函数详解
    CURTIME() 是一个用于获取当前系统时间的日期和时间函数。它在数据分析、报告生成、时间序列处理、事件调度以及各种需要动态时间获取的场景中非常实用。通过 CURTIME() 函数,用户可以轻松地获取系统的当前时间,以实现时间的动态计算和管理。1. CURTIME() 函数的基本语法CURT......
  • MYSQL----------------sql 优化
    优化SQL语句的一般步骤1.了解SQL的执行频率SHOWSTATUSLIKE'Com_%';代码解释:SHOWSTATUSLIKE'Com_%';:此命令可以查看各种SQL语句的执行频率,例如Com_select表示SELECT语句的执行次数,Com_insert表示INSERT语句的执行次数等。通过查看这些信息,可以大致......
  • MYSQL--------SQL 注入简介&&MySQL SQL Mode 简介
    SQL注入简介定义:SQL注入是一种常见的安全漏洞,攻击者通过在输入中插入恶意的SQL语句,利用应用程序中未正确处理的输入数据,来改变SQL查询的逻辑,从而执行非预期的操作,如绕过身份验证、获取未授权数据、修改或删除数据等。示例:--正常的登录查询SELECT*FROMusersWHE......
  • 【C++】find() 函数全解
    博客主页:[小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏:C++文章目录......
  • 【C++】深入理解substr()函数
    博客主页:[小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏:C++文章目录......
  • Mysql--运维篇--库表分离(垂直分库,水平分库,垂直分表,水平分表)
    在处理大规模数据和高并发访问时,数据库的分库和分表是两种常见的优化策略。它们通过将数据分散到多个数据库或表中,来提高性能、可扩展性和管理效率。为了更精细地应对不同的场景,分库和分表可以进一步细分为垂直分库/分表和水平分库/分表。一、分库(DatabaseSharding)分库是......
  • Python函数
    在Python编程中,函数是构建程序的关键模块,它允许将复杂的任务分解为可管理、可重复使用的代码片段,极大地提高了代码的可读性、可维护性和可扩展性。以下为函数的详细内容:函数的定义与基本结构定义方式使用def关键字来定义函数,其基本语法结构为:deffunction_name(parame......
  • MySQL备份工具mydumper下载(RPM方式)安装以及详细使用教程
    1、mydumper工具介绍        mydumper是一款社区开源的,用于MySQL数据库的高性能多线程备份工具。与传统的mysqldump相比,mydumper提供了更快的备份和恢复速度,特别是在处理大型数据库时。它包含两个主要工具:•mydumper:负责导出一致的MySQL数据库备份。•myl......