Access SQL语句常用函数
时 间:2015-02-11 08:29:08
作 者:宏鹏 ID:21115 城市:上海
摘 要:Access SQL语句常用函数
正 文:
1、在查询中格式化输出日期
Format(date(), "yyyy-mm-dd")
2、计算两个日期的差值
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
3、日期加上一段时间
DateAdd(interval, number, date)
4、取得日期的一部分
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
interval 参数具有以下设定值:
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
firstdayofweek 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。
日期函數
Year
返回給定日期的年份。
例如统计不同年份的销售额:
Select Year(日期) AS 年, SUM(数量) AS 数量 FROM 订单 GROUP BY Year(日期)
Month
返回给定日期的月份。
例如统计1999年各月的销售额:
Select Month(日期) AS 月, SUM(数量) AS 数量 FROM 订单 Where Year(日期) = 1999 GROUP BY Month(日期)
Day
返回给定日期的天
Date
返回系统日期
例如查询当天的订单:
Select * FROM 订单 Where 日期 = Date()
DatePart
返回给定日期时间的指定部分
语法
DatePart(Interval, date)
Interval: 字符型,表示希望返回的时间部分
Date: 给定的日期值
Interval 包含以下设置:
yyyy 年
q 季度
m 月
y 某年的某一天
d 天
w 工作日
ww 周
h 时
n 分
s 秒
例如统计1999年的各季度每种产品的销售数量:
Select 产品, DatePart('q', 日期) AS 季度, SUM(数量) AS 数量 FROM 订单 Where Year(日期) = 1999 GROUP BY 产品, DatePart('q', 日期)
DateDiff
计算两个给定日期的间隔。
语法
DateDiff(Interval, Date1, Date2)
Interval:表示时间间隔的类型。
Date1:起始日期
Date2:结束日期
Interval 包含以下设置:
yyyy 年
q 季度
m 月
y 某年的某一天
d 天
w 工作日
ww 周
h 时
n 分
s 秒
例如加载最近两个月内的订单:
Select * FROM 订单 Where DateDiff('m', 日期, Date()) < 2
DateAdd
为一给定的日期加上给定的时间间隔。
语法
DateAdd(Interval, Number, Date)
Interval:表示时间间隔的类型,可设置的值和DateDiff函数相同。
Number: 表示要加上的时间间隔数量。
Date: 日期值
例如加载未来两个月要发货的订单:
Select * FROM 订单 Where 发货日期 BETWEEN Date() AND DateAdd('m', 2, Date())
数学函数
Abs
返回数值的绝对值。
Int
返回数值的整数部分。
Round
将数值四舍五入到指定的小数位数。
例如:
Select 客户,Count(*) AS 订单数, SUM(数量) AS 数量, Round(SUM(数量 * 单价 * (1 - 折扣)), 2) AS 金额 FROM 订单 GROUP BY 客户
上述语句的金额由数量、单价、折扣计算得出,且保留两位小数。
字符函数
Len
返回字符串的长度。
Mid
返回字符串从指定位置开始指定个数的字符,例如:Mid('abcdef',2,3) = 'bcd'
InStr
返回一个字符串在另一个字符串中首次出现的位置,例如:Instr('abcd','bc') = 2
InStrRev
返回一个字符串在另一个字符串中最后一次出现的位置。
LCase
将字符串转换为小写。
UCase
将字符串转换为大写。
Left
返回字符串从左边开始指定个数的字符,例如:Left('abcd',2) = 'ab'
Right
返回字符串从右边开始指定个数的字符。
流程函数
Choose
根据一个整数表达式的结算结果,来决定返回那个位置的值
语法:
Choose(expr, value1, value2, value3...)
expr: 整数表达式,如果结果是1,则返回value1,如果结果是2,则返回value2,依次类推。
例如:choose(2,'a','b') = 'b'
Switch
按顺序计算一系列的表达式,如果某一表达式成立,则返回其随后的值。
语法:
Switch(expr1, value1, expr2, value2, expr3, value3...)
expr1、expre2、expr3:表示要计算的表达式,expr1成立的话,返回值value1,expr2成立的话,返回值value2,依次类推。
IIF
根据一个逻辑表达式的计算结果,返回两个候选值之一。
语法:
IIf(expr, truepart, falsepart)
expr: 逻辑表达式
truepart:逻辑表达式成立时返回的值
falsepart: 逻辑表达式不成立时返回的值
例如:
Select 客户, 产品, 日期, 数量, 数量 * 单价 * (1 - IIF(折扣 IS NULL, 0, 折扣)) As 金额 FROM 订单
这样,即使某一行没有输入折扣,也能正常计算出金额。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)