Access数据库常用函数如图所示,可根据实际计算需求采用。
一、数值分组
1、IIF函数语法如下:
IIF (表达式,表达式成立时返回的值,表达式不成立时返回的值)。例如:
SELECT用户 ID,年龄,
IIF(年龄<=20,"20岁及其以下",
IIF(年龄<=30,"21-30岁",
IIF(年龄<=40,"31-40岁",
"40岁以上"))) AS年龄分组
FROM用户明细;
2、CHOOSE函数语法如下:
CHOOSE (参数,结果1,结果2,……,结果N)
说明:
① 参数可为数值或表达式,如果参数或表达式返回的值为1,则函数CHOOSE返回结果1;如果参数或表达式返回的值为2,函数CHOOSE返回结果2,以此类推。
② 参数或表达式返回的值必须为1~254的数字,如果小于1或者大于254,则Access数据库将返回错误值“#VALUE!”。
③ 如果参数为小数,则在使用前将被截尾取整,即相当于Excel中的lNt函数效果。
例如:
SELECT用户ID,年龄,
CHOOSE((年龄-1)/10+1,"10岁及其以下","11-20岁","21-30岁","31-40岁","40岁以上") AS年龄分组
FROM用户明细;
3、SWITCH函数语法如下:
SWITCH (条件1,结果1,条件2,结果2,……,条件N,结果N)
说明:
① 如果条件1为true,SWltCH将返回结果1,如果条件2为true,SWltCH将返回结果2,以此类推。
② 参数由成对的条件表达式和结果值组成,条件表达式按照从左到右的顺序求值,将返回与第一个求值结果为true的表达式相对应的结果值。
③ SWltCH函数在SQL语句中的条件表达式最多可以达到14个,如果多于14个表达式,将提示错误。
④ 如果所有表达式的结果值都不为true,SWltCH将返回Null。
例如:
SELECT用户ID,年龄,
SWITCH(年龄<=20,"20岁及其以下",
年龄<=30,"21-30岁",
年龄<=40,"31-40岁",
年龄>40,"40岁以上") AS年龄分组
FROM用户明细;
4、PARTITION函数语法如下:
PARTITION (数值参数,开始值,结束值,组距)
说明:
① 数值参数为要根据范围进行计算的整数。
② 开始值必须为整数,并且不能小于0。
③ 结束值也必须为整数,该数值不能等于或小于开始值。
④ 组距也必须为整数,指定在整个数值范围内(在开始值与结束值之间)的分区大小。
⑤ PARtltlON返回的内容为每组的“下限:上限”。
例如:
SELECT用户ID,年龄,
PARTITION(年龄,1,100,20) AS年龄分组
FROM用户明细;
四个分组比较:
二、日期、时间分组
在Access数据库中,除了可以采用YEAR、MONTH、DAY等常用日期函数进行日期分组外,我们还可以采用FORMAT函数进行日期/时间分组。
FORMAT函数的语法如下:
FORMAT(日期/时间,日期/时间格式参数)
FORMAT函数中日期/时间相关的格式参数说明如图:
例如:
SELECT订单编号,订购日期,
FORMAT(订购日期,"yyyy") AS年,
FORMAT(订购日期,"q") AS季,
FORMAT(订购日期,"m") AS月,
FORMAT(订购日期,"d") AS日,
FORMAT(订购日期,"dddd") AS星期,
FORMAT(订购日期,"h") AS小时,
FORMAT(订购日期,"n") AS分,
FORMAT(订购日期,"s") AS秒
FROM订购明细;