常用SQL函数及其用法
常用SQL函数包括聚合函数(如COUNT、SUM、AVG、MAX、MIN)、字符串函数(如CONCAT、SUBSTRING、LENGTH、UPPER、LOWER)、日期函数(如NOW、CURDATE、DATEADD、DATEDIFF)等,用于数据统计、格式化、转换和日期计算等。
以下是常用的 SQL 函数分类及其用法说明,包含示例和注意事项:
一、聚合函数(用于汇总数据)
-
SUM()
- 作用:计算数值列的总和。
- 示例:
SELECT SUM(salary) AS total_salary FROM employees;输出:所有员工的工资总和。
-
AVG()
- 作用:计算数值列的平均值。
- 示例:
SELECT AVG(age) AS average_age FROM users;
-
MAX() / MIN()
- 作用:返回列中的最大值或最小值。
- 示例:
SELECT MAX(price) AS highest_price FROM products;
-
COUNT()
- 作用:统计行数(或非 NULL 值的行数)。
- 示例:
SELECT COUNT(*) AS total_users FROM users; -- 统计所有行 SELECT COUNT(DISTINCT department_id) FROM employees; -- 统计不重复的部门数
二、字符串函数
-
CONCAT()
- 作用:拼接多个字符串。
- 示例:
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
-
SUBSTRING()
- 作用:截取子字符串(不同数据库参数可能不同)。
- 示例:
SELECT SUBSTRING('Hello World', 1, 5) AS result; -- 输出 'Hello'
-
LENGTH() / LEN()
- 作用:返回字符串长度(
LENGTH在 MySQL 中使用,LEN在 SQL Server 中使用)。 - 示例:
SELECT LENGTH('SQL') AS char_length; -- 输出 3
- 作用:返回字符串长度(
-
UPPER() / LOWER()
- 作用:转换字符串为大写或小写。
- 示例:
SELECT UPPER('hello') AS result; -- 输出 'HELLO'
-
TRIM()
- 作用:去除字符串首尾的空格或指定字符。
- 示例:
SELECT TRIM(' example ') AS result; -- 输出 'example'
-
REPLACE()
- 作用:替换字符串中的子串。
- 示例:
SELECT REPPLACE('foo bar', 'foo', 'new') AS result; -- 输出 'new bar'
三、日期函数
-
NOW() / GETDATE()
- 作用:返回当前日期和时间(
NOW()用于 MySQL,GETDATE()用于 SQL Server)。 - 示例:
SELECT NOW() AS current_time;
- 作用:返回当前日期和时间(
-
DATEADD()
- 作用:为日期添加指定的时间间隔。
- 示例(SQL Server):
SELECT DATEADD(day, 7, '2023-01-01') AS new_date; -- 输出 '2023-01-08'
-
DATEDIFF()
- 作用:计算两个日期之间的差值。
- 示例:
SELECT DATEDIFF(day, '2023-01-01', '2023-01-10') AS days_diff; -- 输出 9
-
YEAR() / MONTH() / DAY()
- 作用:提取日期的年、月、日部分。
- 示例:
SELECT YEAR('2023-05-20') AS year_part; -- 输出 2023
四、数值函数
-
ROUND()
- 作用:四舍五入到指定小数位。
- 示例:
SELECT ROUND(123.456, 2) AS result; -- 输出 123.46
-
ABS()
- 作用:返回数值的绝对值。
- 示例:
SELECT ABS(-10) AS result; -- 输出 10
-
CEIL() / FLOOR()
- 作用:向上取整(
CEIL)或向下取整(FLOOR)。 - 示例:
SELECT CEIL(3.2) AS result; -- 输出 4(MySQL)
- 作用:向上取整(
-
RAND()
- 作用:生成 0 到 1 之间的随机数。
- 示例:
SELECT RAND() AS random_value;
五、条件函数
-
CASE WHEN
- 作用:按条件返回不同值。
- 示例:
SELECT name, CASE WHEN age >= 18 THEN '成人' ELSE '未成年' END AS age_group FROM users;
-
COALESCE()
- 作用:返回第一个非 NULL 的值。
- 示例:
SELECT COALESCE(address, '未知') FROM customers; -- 若 address 为 NULL,返回 '未知'
-
IFNULL() / ISNULL()
- 作用:替换 NULL 值(
IFNULL用于 MySQL,ISNULL用于 SQL Server)。 - 示例:
SELECT IFNULL(salary, 0) FROM employees; -- 将 NULL 薪资替换为 0
- 作用:替换 NULL 值(
注意事项:
- 数据库差异:不同数据库(如 MySQL、SQL Server、PostgreSQL)的函数名称或参数可能不同,建议参考具体文档。
- 聚合函数与 GROUP BY:聚合函数通常与
GROUP BY一起使用,例如统计各部门的平均工资:SELECT department_id, AVG(salary) FROM employees GROUP BY department_id;
如何用Rust过程宏魔法简化SQL函数呢?
这是 RisingWave 中一个 SQL 函数的实现。只需短短几行代码,通过在 Rust 函数上加一行过程宏,我们就把它包装成了一个
2024-01-23 09:43:34
oracle split函数用法举例
Split函数是Oracle中用于将一个字符串按照指定的分隔符进行拆分的函数。其语法为:SPLIT(字符串, 分隔符)。 下面我将详细介绍Split函数
2023-12-06 09:56:20
oracle中substr函数用法
字符串的源字符串,start_position是子字符串的起始位置,length是要提取的子字符串的长度(可选参数)。 下面将详细介绍SUBSTR函数的用法及示例。 基本
2023-12-05 16:57:00
sql语句中having的用法
在SQL语句中,HAVING是一个用于对GROUP BY子句的结果进行过滤和限制的子句。它类似于WHERE子句,但作用于聚合函数的结果而不是单独的行。HAVING子句通
2023-11-23 11:23:00
python中insert函数的用法
表示要插入的元素。insert()函数会将元素插入到指定位置,并将该位置原有的元素及其后的元素依次往后移动。 下面将详细讨论insert()函数
2023-11-21 14:43:40
linux常用命令及用法
Linux是一种开源的操作系统,它以稳定、高效和安全的特点受到广大用户的喜爱。掌握Linux的常用命令及其用法对于操作系统的管理和开发都至关重要
2023-11-17 09:47:41
MySQL常用的三类函数
经常编写程序或者使用数据库的同学一定体会到函数的重要性,丰富的函数往往能使用户的工作事半功倍。函数能帮助用户做很多事情,比如说字符串的处理、数值
2020-04-16 17:05:28
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览