ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 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) | 用于执行日期计算 |