上一篇:【SQL高级(十二)】【SQL 通用数据类型+SQL 用于各种数据库的数据类型】
文章目录
一、SQL 函数
SQL 拥有很多可用于计数和计算的内建函数。
1.1 SQL Aggregate 函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
1.1.1 SQL AVG() 函数
AVG() 函数返回数值列的平均值。
语法
SELECT AVG(column_name) FROM table_name
1.1.2 SQL COUNT() 函数
COUNT() 函数返回匹配指定条件的行数。
SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name;
SQL COUNT(*) 语法
COUNT(*) 函数返回表中的记录数:
SELECT COUNT(*) FROM table_name;
SQL COUNT(DISTINCT column_name) 语法
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
SELECT COUNT(DISTINCT column_name) FROM table_name;
1.1.3 SQL FIRST() 函数
FIRST() 函数返回指定的列中第一个记录的值。
语法
SELECT FIRST(column_name) FROM table_name;
只有 MS Access 支持 FIRST() 函数。
SQL Server、MySQL 和 Oracle 中的 SQL FIRST() 工作区
SQL Server 语法
SELECT TOP 1 column_name
FROM table_name
ORDER BY column_name ASC;
MySQL 语法
SELECT column_name FROM table_name
ORDER BY column_name ASC LIMIT 1;
Oracle 语法
SELECT column_name FROM table_name
ORDER BY column_name ASC
WHERE ROWNUM <=1;
1.1.4 SQL LAST() 函数
LAST() 函数返回指定的列中最后一个记录的值。
语法
SELECT LAST(column_name) FROM table_name;
只有 MS Access 支持 LAST() 函数。
SQL Server、MySQL 和 Oracle 中的 SQL LAST() 工作区
SQL Server 语法
SELECT TOP 1 column_name
FROM table_name
ORDER BY column_name DESC;
MySQL 语法
SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;
Oracle 语法
SELECT column_name FROM table_name
ORDER BY
column_name DESC
WHERE ROWNUM <=1;
1.1.5 SQL MAX() 函数
MAX() 函数返回指定列的最大值。
语法
SELECT MAX(column_name) FROM table_name;
1.1.6 SQL MIN() 函数
MIN() 函数返回指定列的最小值。
语法
SELECT MIN(column_name) FROM table_name;
1.1.7 SQL SUM() 函数
SUM() 函数返回数值列的总数。
语法
SELECT SUM(column_name) FROM table_name;
1.2 SQL Scalar 函数
SQL Scalar 函数基于输入值,返回一个单一的值。
UCASE() - 将某个字段转换为大写
LCASE() - 将某个字段转换为小写
MID() - 从某个文本字段提取字符,MySql中使用
SubString(字段,1,end) - 从某个文本字段提取字符
LEN() - 返回某个文本字段的长度
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
NOW() -返回当前的系统日期和时间
FORMAT() - 格式化某个字段的显示方式
1.2.1 SQL UCASE() 函数
UCASE() 函数把字段的值转换为大写。
语法
SELECT UCASE(column_name) FROM table_name;
用于 SQL Server 的语法
SELECT UPPER(column_name) FROM table_name;
1.2.2 SQL LCASE() 函数
LCASE() 函数把字段的值转换为小写。
语法
SELECT LCASE(column_name) FROM table_name;
用于 SQL Server 的语法
SELECT LOWER(column_name) FROM table_name;
1.2.3 SQL MID() 函数
MID() 函数用于从文本字段中提取字符。
语法
SELECT MID(column_name,start[,length]) FROM table_name;
1.2.4 SQL LEN() 函数
LEN() 函数返回文本字段中值的长度。
LEN() 语法
SELECT LEN(column_name) FROM table_name;
MySQL 中函数为 LENGTH():
SELECT LENGTH(column_name) FROM table_name;
1.2.5 SQL ROUND() 函数
ROUND() 函数用于把数值字段舍入为指定的小数位数。
语法
SELECT ROUND(column_name,decimals) FROM table_name;
1.2.6 SQL NOW() 函数
NOW() 函数返回当前系统的日期和时间。
语法
SELECT NOW() FROM table_name;
1.2.7 SQL FORMAT() 函数
FORMAT() 函数用于对字段的显示进行格式化。
语法
SELECT FORMAT(column_name,format) FROM table_name;