Access数据库常用函数大全

Avg 函数

计算在查询的指定字段中所包含的一组值的算术平均值。

语法

Avg(expr)

expr 占位符代表一个字符串表达式,它标识的字段包含被计算平均值的数据,或者代表使用该字段的数据执行计算的表达式。expr 中的操作数可包括表字段名、常量名或函数名(可以是固有的或用户自定义的函数,但不能是其他 SQL 聚合函数)。

说明

使用 Avg 计算的平均值是算术平均值(值的总和除以值的数目)。例如,可以使用 Avg 计算运费的平均值。

在计算中,Avg 函数不能包含任何 Null 字段。

您可以将 Avg 用于查询表达式中和 QueryDef 对象的 SQL 属性中,或者在基于 SQL 查询创建 Recordset 对象时使用。

Count 函数

计算查询所返回的记录数

语法

Count(expr)

expr 占位符代表字符串表达式,它标识的字段包含了要统计的数据,或者是使用该字段的数据执行计算的表达式。expr 中的操作数可包括表字段名或函数名(可以是固有的或者用户自定义的函数,但不能是其他 SQL 聚合函数)。可以统计包括文本在内的任何类型数据。

说明

可以使用 Count 来统计基本查询的记录数。例如,可以通过 Count 来统计已发往特定城市的定单数目。

尽管 expr 能够对字段执行计算,但是 Count 仅仅计算出记录的数目。记录中所存储的数值类型与计算无关。

Count 函数不统计包含 Null 字段的记录,除非 expr 是星号 (*) 通配符。如果使用了星号通配符,Count 会计算出包括包含 Null 字段在内的所有记录的数目。使用 Count(*) 方式比使用 Count([Column Name])方式快很多。不要用单引号 (' ') 将星号括起来。下面的示例计算 Orders 表中的记录数目。

SELECT Count(*)

AS TotalOrders FROM Orders;

如果 expr 标识多个字段,那么 Count 函数仅统计至少有一个字段为非 Null 值的记录。如果所有指定字段均为 Null 值,那么该记录不被统计在内。可以使用 & 号分隔字段名。下面的示例显示了如何将计算限于那些 ShippedDate 或 Freight 为非 Null 值的记录:

SELECT

Count('ShippedDate & Freight')

AS [Not Null] FROM Orders;

可以在查询表达式中使用 Count。也可以将该表达式用于 QueryDef 对象的 SQL 属性中,或者在基于 SQL 查询创建 Recordset 对象时使用该表达式。

FirstLast 函数

返回在查询所返回的结果集中的第一个或者最后一个记录的字段值。

语法

First(expr)

Last(expr)

expr 占位符代表一个字符串表达式,它标识了包含您要使用的数据的字段,或者是使用该字段中的数据执行计算的表达式。expr 中的操作数可以包括表字段、常量或函数(可以是固有的或者用户自定义的函数,但不能是其他 SQL 聚合函数)的名称。

说明

First 和 Last 与 DAO Recordset 对象的MoveFirst 和 MoveLast 方法相似。它们只是分别返回查询所返回结果集中第一个或最后一个记录中指定字段的值。因为记录通常以非特定顺序返回(除非查询中包含了 ORDER BY 子句),所以这些函数返回的记录是任意的。

MinMax 函数

返回包含在查询的指定字段内的一组值中的最小和最大值。

语法

Min(expr)

Max(expr)

expr 占位符代表一个字符串表达式,它标识了包含要计算的数据的字段,或者是使用该字段中的数据执行计算的表达式。expr 中的操作数可包括表字段、常量或函数(可以是固有的或用户自定义的函数,但不能是其他 SQL 聚合函数)的名称。

说明

通过 Min 和 Max,可以基于指定的聚合(或分组)来确定字段中的最小和最大值。例如,可以通过这些函数来返回最低和最高的运费。如果没有指定聚合函数,将使用整个表。

可以将 Min 和 Max 用在查询表达式中和 QueryDef 对象的 SQL 属性中,或者在基于 SQL 查询创建 Recordset 对象时使用这些表达式。

StDevStDevP 函数

返回以包含在查询的指定字段内的一组值作为总体样本或总体样本抽样的标准偏差的估计值。

语法

StDev(expr)

StDevP(expr)

expr 占位符代表字符串表达式,它标识了包含您希望计算的数据的字段,或者是使用该字段中的数据执行计算的表达式。expr 中的操作数可包括表字段、常量或函数(可以是固有的或者用户自定义的函数,但不能是其他 SQL 聚合函数)的名称。

说明

StDevP 函数对总体样本进行计算,StDev 函数对总体样本抽样进行计算。

如果基础查询包含少于两个的记录(或者没有记录,对于 StDevP 函数),那么,这些函数将返回 Null 值(表示无法计算标准偏差)。

您可以在查询表达式中使用 StDev 和 StDevP 函数。也可以将该表达式用于 QueryDef 对象的 SQL 属性,或者在基于 SQL 查询来创建 Recordset 对象时使用它们。

Sum 函数

返回在查询的指定字段中所包含的一组值的总和。

语法

Sum(expr)

expr 占位符代表字符串表达式,它标识了包含要添加的数字数据的字段,或者是使用该字段中的数据执行计算的表达式。expr 中的操作数可包括表字段、常量或函数(可以是固有的或者用户自定义的函数,但不能是其他 SQL 聚合函数)的名称。

说明

Sum 函数计算字段值的总和。例如,可以使用 Sum 函数来确定运货的总费用。

Sum 函数将忽略包含 Null 字段的记录。下面的示例展示了如何计算 UnitPrice 和 Quantity 字段的产品总和:

SELECT

Sum(UnitPrice * Quantity)

AS [Total Revenue] FROM [Order Details];

可以在查询表达式中使用 Sum 函数。可以将该表达式用于 QueryDef 对象的 SQL 属性中,或者在基于 SQL 查询来创建 Recordset 对象时使用该表达式。

VarVarP 函数

返回以包含在查询的指定字段内的一组值为总体样本或总体样本抽样的方差的估计值。

语法

Var(expr)

VarP(expr)

expr 占位符代表字符串表达式,它标识了包含您要计算的数字数据的字段,或者是使用该字段中的数据执行计算的表达式。expr 中的运算符可以包括表字段、常量或者函数(可以是固有常量,也可以是用户自定义的函数,但不能是其他 SQL 聚合函数)的名称。

说明

VarP 函数计算总体样本,Var 函数计算总体样本抽样。

如果基础查询中包含了两个以下个记录,那么 Var 和 VarP 函数返回 Null 值,这表示无法计算方差。

可以在查询表达式或 SQL 语句中使用 Var 和 VarP 函数。

IsError 函数

返回 Boolean 值,该值指示表达式是否是错误值。

语法

IsError(expression)

必选参数 expression 可以是任何有效的表达式。

说明

错误值是通过使用 CVErr 函数将真实数字转换为错误值而创建的。IsError 函数用于确定数字表达式是否表示错误。如果 expression 参数表示错误,则 IsError 返回 True。否则,返回 False。

Day 函数

返回 Variant (Integer),该返回值指定介于 1 与 31 之间的整数(含 1 和 31),代表月中的日期。

语法

Day(date)

date 参数是必选的,它是能够代表日期的任何 Variant、数值表达式、字符串表达式或上述任意组合。如果 date 包含 Null,那么将返回 Null。

注释  如果 Calendar 属性设置是公历,那么返回的整数将代表 date 参数的月部分的公历日。如果 Calendar 是回历,那么返回的整数将代表 date 参数的月部分的回历日。

使用 SQL 函数计算字段

可以在 SQL 聚合函数中使用字符串表达式参数来计算字段中的值。例如,通过将分数乘以值可以计算百分比(如附加费或营业税)。

下表提供了对 Northwind.mdb 数据库中的“订单”表和“订单明细”表上的字段进行计算的示例。

计算

示例

字段加一个数

Freight + 5

字段减一个数

Freight - 5

字段乘以一个数

UnitPrice * 2

字段除以一个数

Freight / 2

字段与其他字段相加

UnitsInStock + UnitsOnOrder

字段减去其他字段

ReorderLevel - UnitsInStock

 

下面的示例用于计算 Northwind.mdb 数据库中所有订单的平均折扣量。UnitPrice 字段值和 Discount 字段值相乘用于确定每一个订单的折扣数量,然后再计算它们的平均值。可以在 Visual Basic 代码内的 SQL 语句中使用这个表达式:

SELECT Avg(UnitPrice * Discount) AS [Average Discount] FROM [Order Details];

Hour 函数

返回 Variant (Integer) 值,该值指定 0 和 23 之间(包括 0 和 23)的整数(表示一天中某个小时)。

语法

Hour(time)

必选参数 time 是可以表示时间的任何变量、数值表达式、字符串表达式或任何组合。如果 time 包含 Null,则返回 Null。

IsEmpty 函数

返回 Boolean 值,该值指示变量是否已初始化。

语法

IsEmpty(expression)

必选参数 expression 是包含数值或字符串表达式的变量。但是,因为 IsEmpty 用于确定单个变量是否已初始化,所以 expression 参数是大多数情况下是单个变量名。

说明

如果变量未初始化或被显式设为 Empty,则 IsEmpty 返回 True。否则,它会返回 False。如果 expression 包含多个变量,则始终返回 False。IsEmpty 只返回对变体型值有意义的信息。

IsNumeric 函数

返回 Boolean 值,该值指示表达式的计算结果是否是数字。

语法

IsNumeric(expression)

必选参数 expression 是包含数值表达式或字符串表达式的变量。

说明

如果将整个 expression 被识别为数字,则 IsNumeric 返回 True。否则,返回 False。

如果 expression 是日期表达式,则 IsNumeric 返回 False。

FormatDateTime 函数

说明

返回设置为日期或时间格式的表达式。

语法

FormatDateTime(Date[,NamedFormat])

FormatDateTime 函数语法具有以下几部分:

部分

说明

Date

必选。要格式化的日期表达式。

NamedFormat

可选。指示所使用的日期/时间格式的数值。如果忽略,则使用 vbGeneralDate。

 

设置

NamedFormat 参数具有以下设置:

常量

说明

vbGeneralDate

0

显示日期和/或时间。如果有日期部分,则将它显示为短日期。如果有时间部分,则将它显示为长时间。如果这两部都有,则都会显示。

vbLongDate

1

使用在计算机的区域设置中指定的长日期格式来显示日期。

vbShortDate

2

使用在计算机的区域设置中指定的短日期格式来显示日期。

vbLongTime

3

使用在计算机的区域设置中指定的时间格式来显示时间。

vbShortTime

4

使用 24 小时格式 (hh:mm) 来显示时间。

Asc 函数

返回 Integer 值,该值代表一个字符代码,此字符代码对应于字符串中的第一个字母。

语法

Asc(string)

必选参数 string 是任何有效的字符串表达式。如果 string 未包含任何字符,将产生运行时错误。

说明

在非 DBCS 系统中,返回值的范围为 0 到 255,在 DBCS 系统中,为 –32768 到 32767。

注释  AscB 函数用于包含在字符串中的字节数据。AscB 返回的不是第一个字符的字符代码,而是返回第一个字节。AscW 函数将返回 Unicode 字符代码(在不支持 Unicode 的平台上除外,在这种情况下,其行为与 Asc 函数相同)。

注释   Visual Basic for Macintosh 不支持 Unicode 字符串。因此,AscW(n) 无法像在 Windows 环境中那样返回范围在 128 到 65,535 之间的值 n 的所有 Unicode 字符。AscW(n) 将试图对大于 127 的 Unicode 值 n 进行“最佳猜测”。因此,不应该在 Macintosh 环境中使用 AscW。

SLN 函数

返回 Double 值,该值指定资产的每期线性折旧费。

语法

SLN(cost, salvage, life)

SLN 函数具有下面这些命名参数:

部分

说明

cost

必选。Double 值,该值指定资产的初始成本。

salvage

必选。Double 值,该值指定使用期结束时资产的值。

life

必选。Double 值,该值指定资产使用期的长度。

 

说明

折旧期限的单位必须与 life 参数的单位相同。所有参数都必须是正数。

TimeSerial 函数

 

返回 Variant (Date) 值,该值包含具体的时、分、秒时间。

语法

TimeSerial(hour, minute, second)

TimeSerial 函数语法具有下面这些命名参数:

部分

说明

hour

必选;Variant (Integer)。从 0(上午 12:00)到 23(下午 11:00)的数字(包括 0 和 23),或者是数值表达式。

minute

必选;Variant (Integer)。任意数值表达式。

second

必选;Variant (Integer)。任意数值表达式。

 

说明

若要指定时间,如 11:59:59,每个 TimeSerial 参数的数值范围应该在相应单位的正常范围内;即小时应该是 0–23,分钟和秒应该是 0–59。不过,也可在某个时间之前或之后,使用表示小时数、分钟数或秒数的任意表达式来指定每个参数的相对时间。下面的示例使用了表达式而没有使用绝对的时间数。TimeSerial 函数将返回中午前六小时 (12 - 6) 再往前的 15 分钟 (-15),即上午 5:45:00。

TimeSerial(12 - 6, -15, 0)

 

当任何参数超过了该参数的正常范围时,它将递增为下一个更大的单位。例如,如果指定了 75 分钟,则它将被视为 1 小时 15 分钟。如果任一参数超出 -32,768 到 32,767 的范围,将发生错误。如果由三个参数指定的时间使日期超出了日期的可接受范围,将发生错误。

在查询中包括用户定义函数 (ADP)

注释  本主题中的信息仅适用于 Microsoft Access 项目 (.adp)。

在“查询”中包括内嵌或表用户定义函数

1. 在“数据库”窗口中,单击“对象”下的“查询”,再单击要打开的查询,然后单击数据库窗口工具栏上的“设计”。 

2. 设计要向其中添加函数的查询。在“查询设计器”中,确保“图表”窗格是可见的。 

3. 从函数列表中,将该函数拖到“图表”窗格上。 

在查询中包括标量函数

1. 在“数据库”窗口中,单击“对象”下的“查询”,再单击要打开的查询,然后单击数据库窗口工具栏上的“设计”。 

2. 设计要向其中添加函数的查询。在“查询设计器”中,确保“网格”窗格是可见的。 

3. 在“网格”窗格的第一个空行中,在“列”列中输入函数的名称。 

DSum 函数

DSum 函数可用于计算一组指定记录()中的一组值的总和。可以在 Visual Basic、、查询表达式或计算控件 中使用 DSum 函数。

例如,可以在查询的计算字段表达式中通过 DSum 函数来计算某一段时间内特定雇员的总销售量。或者在计算控件中使用 DSum 函数来显示特定产品的流水销售总额。

DSum(expr, domain, [criteria])

DSum 函数包含以下参数:

参数

说明

expr

表达式,用于标识被计算值的总和的数字字段。它可以是标识表或查询中的字段的字符串表达式,或者是对该字段中的数据进行计算的表达式。在 expr 中,可以包含表中的字段、窗体上的控件、常量或者函数的名称。如果 expr 包含函数,那么该函数可以是内置的或用户定义的,但不能是其他域聚合函数或 SQL 聚合函数。

domain

字符串表达式,用于标识组成域的一组记录。它可以是不需要参数的查询的表名或查询名。

criteria

可选的字符串表达式,用于约束对其执行 DSum 函数的数据的范围。例如,criteria 常常等价于 SQL 表达式中除去 WHERE 关键字的 WHERE 子句。如果 criteria 被忽略,DSum 函数将对整个域计算 expr。任何包含在 criteria 中的字段必须也是 domain 中的字段;否则 DSum 函数将返回 Null 值。

 

说明

如果没有记录满足 criteria 参数或者域中不包含记录,那么 DSum 函数会返回 Null 值。

不论是否在宏、模块、查询表达式或计算控件中使用 DSum 函数,都必须仔细构造 criteria 参数,以确保它将被正确计算。

可以使用 DSum 函数来指定这些情况下的条件:在查询的条件行中,在查询表达式内的计算字段中,或者在更新查询的“更新到”行中。

注释  可以将 DSum 和 Sum 函数用于总计查询中的计算字段表达式。如果使用 DSum 函数,将在数据分组之前计算值。如果使用 Sum 函数,则先进行数据分组,然后再计算字段表达式中的值。

需要显示不在窗体或报表的记录源中的字段的一组值的总和时,可以使用 DSum 函数。例如,假定有一个显示特定产品信息的窗体。可以在计算控件中使用 DSum 函数来随时统计产品的流水销售总额。

提示

如果需要在报表上某个控件中维持流水总和,假定所基于的字段包含在报表的记录源中,则可以使用该控件的 RunningSum 属性。通过 DSum 函数来维持窗体的流水总和。

注释  使用这些函数时,对 domain 内的记录的未保存更改不包括在内。如果希望使 DSum 函数基于更改的值,必须先通过单击“记录”菜单上的“保存记录”来保存更改,然后将焦点移动到其他记录,或者使用 Update 方法。

CurDir 函数

注释  如果 Microsoft Jet Expression Service 正在沙盒模式下运行(此模式将阻止对可能不安全的表达式进行计算),则本主题中的函数、方法、对象或属性都将被禁用。有关沙盒模式的详细信息,请在帮助中搜索“沙盒模式”。

返回一个代表当前路径的 Variant (String)。

语法

CurDir[(drive)]

可选参数 drive 是一个指定现有驱动器的字符串表达式。如果未指定驱动器或 drive 是一个零长度字符串 (""),那么 CurDir 将返回当前驱动器的路径。在 Macintosh 上,CurDir 将忽略任何指定的 drive,而只返回当前驱动器的路径。

Tan 函数

返回 Double 值,该值指定角度的正切值。

语法

Tan(number)

必选参数 number 是任何以弧度表示角度的 Double 值或有效的数值表达式。

说明

Tan 的操作对象是角度,并返回直角三角形两边的比率。该比率是在直角三角形中该角度的对边长度除以邻边的长度所得的值。

若要将角度转换成弧度,请用 pi/180 乘以角度。若要将弧度转换成角度,请用 180/pi 乘以弧度。

IMEStatus 函数

返回 Integer 值,该值指定 Microsoft Windows 的当前输入方法编辑器 (IME) 模式。只能在东亚版本中使用。

语法

IMEStatus

返回值

日语区域设置的返回值如下所示:

常量

说明

vbIMEModeNoControl

0

不控制 IME(默认值)

vbIMEModeOn

1

IME 启用

vbIMEModeOff

2

IME 禁用

vbIMEModeDisable

3

IME 禁用

vbIMEModeHiragana

4

全角平假名模式

vbIMEModeKatakana

5

全角片假名模式

vbIMEModeKatakanaHalf

6

半角片假名模式

vbIMEModeAlphaFull

7

全角字母数字模式

vbIMEModeAlpha

8

半角字母数字模式

 

朝鲜语区域设置的返回值如下所示:

常量

说明

vbIMEModeNoControl

0

不控制 IME(默认值)

vbIMEModeAlphaFull

7

全角字母数字模式

vbIMEModeAlpha

8

半角字母数字模式

vbIMEModeHangulFull

9

全角 Hangul 模式

vbIMEModeHangul

10

半角 Hangul 模式

 

中文区域设置的返回值如下所示:

常量

说明

vbIMEModeNoControl

0

不控制 IME(默认值)

vbIMEModeOn

1

IME 启用

vbIMEModeOff

2

IME 禁用

Right 函数

返回 Variant (String) 值,该值包含从字符串右侧起的指定数量的字符。

语法

Right(string, length)

Right 函数语法具有下面这些命名参数:

部分

说明

string

必选。从中返回最右侧字符的字符串表达式。如果 string 包含 Null,则将返回 Null。

length

可选;Variant (Long)。指示将返回多少个字符的数值表达式。如果为 0,则返回零长度字符串 ("")。如果大于或等于 string 中的字符串个数,则返回整个字符串。

 

说明

若要确定 string 中的字符数,请使用 Len 函数。

注释   RightB 函数用于计算字符串中包含的字节数据。需要为该函数的 length 指定字节数,而不是指定要返回的字符数。

原文地址:https://www.cnblogs.com/archip/p/2977097.html