SQL 函数
1、NULL 函数
下面,如果 "UnitsOnOrder" 是 NULL,则不利于计算,因此如果值是 NULL 则 ISNULL() 返回 0。
SQL Server / MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0)) FROM Products
Oracle
Oracle 没有 ISNULL() 函数。不过,我们可以使用 NVL() 函数达到相同的结果:
SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0)) FROM Products
MySQL
MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。
在 MySQL 中,我们可以使用 IFNULL() 函数,就像这样:
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products
或者我们可以使用 COALESCE() 函数,就像这样:
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0)) FROM Products
2、合计函数(Aggregate functions)
Aggregate 函数的操作面向一系列的值,并返回一个单一的值。
注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!
- AVG(Column) 返回某列的平均值
- COUNT(Column)返回某列的行数,不包括NULL值
- COUNT(*) 返回被选中行数
- COUNT(DISTINCT Column) 返回相异结果的行数
- FIRST(Column) 返回在指定域中满足条件的第一个值
- LAST(Column) 返回在指定雨中满足条件的最后一个值
- MAX(Column) 返回列的最大值
- MIN(column)返回列的最小值
- SUM(column)返回某列的总和
注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值
3、Scalar 函数
Scalar 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。