| 
| 技术资料  > 数据库 > MS SQL : ado如何使用sql函数? |  
ado如何使用sql函数? March 25,2004 |  
SQL函数 
 
    使用SQL函数,您可以在一个SELECT语句的查询当中,直接计算数据库资料的平 
均值、总数、最小值、最大值、总和、标准差、变异数等统计。使用Recordset对象 
时,也可使用这些SQL函数。 
 
SQL函数包括如下: 
 
 
 
Avg函数:计算查询中某一特定字段资料的算术平均值。  
 
Count函数:计算符合查询条件的记录数。  
 
Min, Max函数:传回指定字段之中符合查询条件的第一条、最末条记录的资料。  
 
First, Last函数:传回指定字段之中符合查询条件的最小值、最大值。  
 
StDev函数:计算指定字段之中符合查询条件的标准差。  
 
Sum函数:计算指定字段之中符合查询条件的资料总和。  
 
Var,函数:计算指定字段之中符合查询条件的变异数估计值。 
 
 
ADO如何使用SQL函数呢? 
 
譬如ASP程式码rs21.asp,在用户端使用浏览器,浏览执行的结果,显示执行SQL函数 
的结果。 
 
ASP程式码rs21.asp如下: 
 
<% 
 
Set conn1 = Server.CreateObject("ADODB.Connection")  
 
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver= 
{Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"  
 
Set rs2 = Server.CreateObject("ADODB.Recordset") 
 
SqlStr = "SELECT Avg(价格) As 平均 From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Avg: " & rs2("平均") 
 
rs2.Close 
 
SqlStr = "SELECT Count(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Count(价格): " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Count(*) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Count(*): " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Sum(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Sum: " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Min(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Min: " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Max(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Max: " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT First(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>First(价格): " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Last(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Last(价格): " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT First(代号) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>First(代号): " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Last(代号) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Last(代号): " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT StDev(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>StDev: " & rs2(0) 
 
rs2.Close 
 
SqlStr = "SELECT Var(价格) From 产品" 
 
rs2.Open SqlStr,conn1,1,1 
 
Response.Write "<BR>Var: " & rs2(0) 
 
rs2.Close 
 
conn1.Close 
 
%> 
 
SQL函数,详细描述如下: 
 
Avg函数 
 
Avg函数,计算查询中某一特定字段资料的算术平均值。 
 
    语法为Avg(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可 
以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
Avg函数在计算时,不包含任何值为 Null 的资料。 
 
Count函数 
 
Count函数,计算符合查询条件的记录条数。 
 
    语法为Count (运算式)。运算式,可为字段名称、*、多个字段名称、运算式、 
或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
Count 函数於计算时,不包含任何值为 Null 的资料。 
 
但是,Count(*) 则计算所有符合查询条件的记录条数,包含那些Null的资料。 
 
    如果Count(字段名称) 的字段名称为多个字段,将字段名称之间使用 & 分隔。 
多个字段当中,至少有一个字段的值不为Null的情况下,Count函数才会计算为一条 
记录。如果多个字段都为Null,则不算是一条记录。譬如: 
 
SELECT Count(价格 & 代号) From 产品 
 
First/Last函数 
 
    First函数、Last函数,传回指定字段之中符合查询条件的第一条、最末条记录 
的资料。 
 
    语法为First(运算式) 和 Last(运算式)。运算式,可为字段名称、运算式、或 
一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
Min/Max函数 
 
    Min函数、Max函数,传回指定字段之中符合查询条件的最小值、最大值。 
 
    语法为Min(运算式) 和 Max(运算式)。运算式,可为字段名称、运算式、或一个 
函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
StDev函数 
 
StDev函数,计算指定字段之中符合查询条件的标准差。 
 
    语法为StDev(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数 
可以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
    如果符合查询条件的记录为两个以下时,StDev函数将传回一个Null 值,该表示 
不能计算标准差。 
 
Sum函数 
 
Sum函数,计算指定字段之中符合查询条件的资料总和。 
 
    语法为Sum(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可 
以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
Sum函数可使用两个字段资料运算式,譬如计算产品的单价及数量字段的合计: 
 
SELECT Sum(单价 * 数量) FROM 产品 
 
Var函数 
 
Var函数,计算指定字段之中符合查询条件的变异数估计值。 
 
    语法为Var(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可 
以是一个内部或使用者定义的,但不能为其它的SQL函数。 
 
    如果符合查询条件的记录为两个以下时,Var函数将传回一个Null 值,该表示不 
能计算变异数。 |  
 
 |