下面,如果 \是 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
Microsoft Access 数据类型 数据类型 Text Memo 描述 用于文本或文本与数字的组合。最多 255 个字符。 Memo 用于更大数量的文本。最多存储 65,536 个字符。 注释:无法对 memo 字段进行排序。不过它们是可搜索的。 Byte Integer 允许 0 到 255 的数字。 允许介于 -32,768 到 32,767 之间的数字。 1 字节 2 字节 存储 Long Single Double Currency
允许介于 -2,147,483,648 与 2,147,483,647 之间的全部数字
单精度浮点。处理大多数小数。 双精度浮点。处理大多数小数。
用于货币。支持 15 位的元,外加 4 位小数。 提示:您可以选择使用哪个国家的货币。
4 字节 4 字节 8 字节 8 字节
AutoNumber Date/Time Yes/No
AutoNumber 字段自动为每条记录分配数字,通常从 1 开始。
用于日期和时间
逻辑字段,可以显示为 Yes/No、True/False 或 On/Off。 在代码中,使用常量 True 和 False (等价于 1 和 0)
注释:Yes/No 字段中不允许 Null 值
4 字节 8 字节 1 比特
Ole Object Hyperlink Lookup Wizard
可以存储图片、音频、视频或其他 BLOBs (Binary Large OBjects)
包含指向其他文件的链接,包括网页。
允许你创建一个可从下列列表中进行选择的选项列表。
最多 1GB
4 字节
合计函数(Aggregate functions)
Aggregate 函数的操作面向一系列的值,并返回一个单一的值。
注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!
\在大部分的例子中使用过) Name Adams, John Bush, George Carter, Thomas Age 38 33 28 MS Access 中的合计函数 函数 AVG(column) 描述 返回某列的平均值 COUNT(column) COUNT(*) FIRST(column) LAST(column) MAX(column) MIN(column) STDEV(column) STDEVP(column) SUM(column) VAR(column) VARP(column) 返回某列的行数(不包括 NULL 值) 返回被选行数 返回在指定的域中第一个记录的值 返回在指定的域中最后一个记录的值 返回某列的最高值 返回某列的最低值 返回某列的总和 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) 对某个数值域进行指定小数位数的四舍五入 返回除法操作的余数 返回当前的系统日期 改变某个域的显示方式 用于执行日期计算 ? ?
Previous Page Next Page
定义和用法
AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
SQL AVG() 语法
SELECT AVG(column_name) FROM table_name
SQL AVG() 实例
我们拥有下面这个 \表:
O_Id
1 2 3 4 5 6
OrderDate
2008/12/29 2008/11/23 2008/10/05 2008/09/28 2008/08/06 2008/07/21
OrderPrice
1000 1600 700 300 2000 100
Customer
Bush Carter Bush Bush Adams Carter
例子 1
现在,我们希望计算 \字段的平均值。
我们使用如下 SQL 语句:
SELECT AVG(OrderPrice) AS OrderAverage FROM Orders
结果集类似这样:
OrderAverage 950 例子 2
现在,我们希望找到 OrderPrice 值高于 OrderPrice 平均值的客户。
我们使用如下 SQL 语句:
SELECT Customer FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)
结果集类似这样:
Customer Bush Carter Adams COUNT() 函数返回匹配指定条件的行数。
SQL COUNT() 语法
SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name
SQL COUNT(*) 语法
COUNT(*) 函数返回表中的记录数:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库SQL总结(7)在线全文阅读。
相关推荐: