Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

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群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助