# SQL 函数
**SQL 拥有很多可用于计数和计算的内建函数。**
## 函数的语法
内建 SQL 函数的语法是:
```
SELECT function(列) FROM 表
```
## 函数的类型
在 SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:
* Aggregate 函数
* Scalar 函数
## 合计函数(Aggregate functions)
Aggregate 函数的操作面向一系列的值,并返回一个单一的值。
注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!
### "Persons" table (在大部分的例子中使用过)
| Name | Age |
| --- | --- |
| Adams, John | 38 |
| Bush, George | 33 |
| Carter, Thomas | 28 |
### MS Access 中的合计函数
| 函数 | 描述 |
| --- | --- |
| [AVG(column)](/sql/sql_func_avg.asp "SQL AVG 函数") | 返回某列的平均值 |
| [COUNT(column)](/sql/sql_func_count.asp "SQL COUNT 函数") | 返回某列的行数(不包括 NULL 值) |
| [COUNT(\*)](/sql/sql_func_count_ast.asp "SQL COUNT(\*) 函数") | 返回被选行数 |
| FIRST(column) | 返回在指定的域中第一个记录的值 |
| LAST(column) | 返回在指定的域中最后一个记录的值 |
| [MAX(column)](/sql/sql_func_max.asp "SQL MAX 函数") | 返回某列的最高值 |
| [MIN(column)](/sql/sql_func_min.asp "SQL MIN 函数") | 返回某列的最低值 |
| STDEV(column) |
| STDEVP(column) |
| [SUM(column)](/sql/sql_func_sum.asp "SQL SUM 函数") | 返回某列的总和 |
| VAR(column) |
| VARP(column) |
### 在 SQL Server 中的合计函数
| 函数 | 描述 |
| --- | --- |
| [AVG(column)](/sql/sql_func_avg.asp "SQL AVG 函数") | 返回某列的平均值 |
| BINARY_CHECKSUM |
| CHECKSUM |
| CHECKSUM_AGG |
| [COUNT(column)](/sql/sql_func_count.asp "SQL COUNT 函数") | 返回某列的行数(不包括NULL值) |
| [COUNT(*)](/sql/sql_func_count_ast.asp "SQL COUNT(*) 函数") | 返回被选行数 |
| [COUNT(DISTINCT column)](/sql/sql_func_count_distinct.asp "SQL COUNT DISTINCT 函数") | 返回相异结果的数目 |
| [FIRST(column)](/sql/sql_func_first.asp "SQL FIRST 函数") | 返回在指定的域中第一个记录的值(SQLServer2000 不支持) |
| [LAST(column)](/sql/sql_func_last.asp "SQL LAST 函数") | 返回在指定的域中最后一个记录的值(SQLServer2000 不支持) |
| [MAX(column)](/sql/sql_func_max.asp "SQL MAX 函数") | 返回某列的最高值 |
| [MIN(column)](/sql/sql_func_min.asp "SQL MIN 函数") | 返回某列的最低值 |
| STDEV(column) |
| STDEVP(column) |
| [SUM(column)](/sql/sql_func_sum.asp "SQL SUM 函数") | 返回某列的总和 |
| VAR(column) |
| VARP(column) |
## Scalar 函数 Scalar 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。 ### MS Access 中的 Scalar 函数
| 函数 | 描述 |
| --- | --- |
| UCASE(c) | 将某个域转换为大写 |
| LCASE(c) | 将某个域转换为小写 |
| MID(c,start[,end]) | 从某个文本域提取字符 |
| LEN(c) | 返回某个文本域的长度 |
| INSTR(c,char) | 返回在某个文本域中指定字符的数值位置 |
| LEFT(c,number_of_char) | 返回某个被请求的文本域的左侧部分 |
| RIGHT(c,number_of_char) | 返回某个被请求的文本域的右侧部分 |
| ROUND(c,decimals) | 对某个数值域进行指定小数位数的四舍五入 |
| MOD(x,y) | 返回除法操作的余数 |
| NOW() | 返回当前的系统日期 |
| FORMAT(c,format) | 改变某个域的显示方式 |
| DATEDIFF(d,date1,date2) | 用于执行日期计算 |
- SQL基础
- SQL 简介
- SQL 语法
- SQL SELECT 语句
- SQL SELECT DISTINCT 语句
- SQL WHERE 子句
- SQL AND & OR 运算符
- SQL ORDER BY 子句
- SQL INSERT INTO 语句
- SQL UPDATE 语句
- SQL DELETE 语句
- SQL高级
- SQL TOP 子句
- SQL LIKE 操作符
- SQL 通配符
- SQL IN 操作符
- SQL BETWEEN 操作符
- SQL Alias(别名)
- SQL JOIN
- SQL INNER JOIN 关键字
- SQL LEFT JOIN 关键字
- SQL RIGHT JOIN 关键字
- SQL FULL JOIN 关键字
- SQL UNION 和 UNION ALL 操作符
- SQL SELECT INTO 语句
- SQL CREATE DATABASE 语句
- SQL CREATE TABLE 语句
- SQL 约束 (Constraints)
- SQL NOT NULL 约束
- SQL UNIQUE 约束
- SQL PRIMARY KEY 约束
- SQL FOREIGN KEY 约束
- SQL CHECK 约束
- SQL DEFAULT 约束
- SQL CREATE INDEX 语句
- SQL 撤销索引、表以及数据库
- SQL ALTER TABLE 语句
- SQL AUTO INCREMENT 字段
- SQL VIEW(视图)
- SQL函数
- SQL Date 函数
- SQL NULL 值
- SQL NULL 函数
- SQL 数据类型
- SQL 服务器 - RDBMS
- SQL 函数
- SQL AVG 函数
- SQL COUNT() 函数
- SQL FIRST() 函数
- SQL LAST() 函数
- SQL MAX() 函数
- SQL MIN() 函数
- SQL SUM() 函数
- SQL GROUP BY 语句
- SQL HAVING 子句
- SQL UCASE() 函数
- SQL LCASE() 函数
- SQL MID() 函数
- SQL LEN() 函数
- SQL ROUND() 函数
- SQL NOW() 函数
- SQL FORMAT() 函数
- SQL 快速参考
- SQLite 基础
- SQLite 简介
- SQLite 安装
- SQLite 命令
- SQLite 语法
- SQLite 数据类型
- SQLite 创建数据库
- SQLite 附加数据库
- SQLite 分离数据库
- SQLite 创建表
- SQLite 删除表
- SQLite Insert 语句
- SQLite Select 语句
- SQLite 运算符
- SQLite 表达式
- SQLite Where 子句
- SQLite AND/OR 运算符
- SQLite Update 语句
- SQLite Delete 语句
- SQLite Like 子句
- SQLite Glob 子句
- SQLite Limit 子句
- SQLite Order By
- SQLite Group By
- SQLite Having 子句
- SQLite Distinct 关键字
- SQLite 高级
- SQLite PRAGMA
- SQLite 约束
- SQLite Joins
- SQLite Unions 子句
- SQLite NULL 值
- SQLite 别名
- SQLite 触发器(Trigger)
- SQLite 索引(Index)
- SQLite Indexed By
- SQLite Alter 命令
- SQLite Truncate Table
- SQLite 视图(View)
- SQLite 事务(Transaction)
- SQLite 子查询
- SQLite Autoincrement(自动递增)
- SQLite 注入
- SQLite Explain(解释)
- SQLite Vacuum
- SQLite 日期 & 时间
- SQLite 常用函数
- SQLite 接口
- SQLite - C/C++
- SQLite - Java
- SQLite - PHP
- SQLite - Perl
- SQLite - Python
- MySQL 教程
- MySQL 教程
- MySQL 安装
- MySQL 管理
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- MySQL 排序
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- MySQL 元数据
- MySQL 序列使用
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- 免责声明