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 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。

posted @ 2017-05-10 13:58  slarkleoric  阅读(158)  评论(0编辑  收藏  举报