VB 如何把access中的字符串日期转换成日期格式并能计算日期
例如字段sDate的某值为09.11.2012,是月日年的格式,怎么在查询时使用select命令查询9月11日到9月12日之间的人数...
例如字段sDate的某值为09.11.2012,是月日年的格式,怎么在查询时使用select命令查询9月11日到9月12日之间的人数
展开
5个回答
展开全部
VB对于字符串的运用已经非常好了。
那么关于ACCESS的运用如下解释:
1:字符串转换日期格式
A类:CDATE函数转换,将字符串直接转换成日期。
例子:Print Cdate("1/1/2017")
结果:2017-01-01
B类:FORMAT函数转换
dim S as string
S="2017-1-1"
S="1/1/2017"
等等S类型,但是起码保证S字符串是日期响应内容,比如S="贰零壹柒年三月一日"看起来是日期,其实并非日期所需的字符串内容.
例子:Print Format(s,"YYYY-MM-DD")
后面的YYYY是年,YY是二位数的年,MM是二位数的月,一个M是不带0开头的月,DD同理。返回一个日期格式字符串。
------------------------------------------------------------
上诉是日期转换类,比较省事的是CDATE,比较自定义的是FORMAT,以比较另类的YEAR()函数+MONTH()函数=DAY()函数去获取字符串的对应年份,月份,日期。
下面说日期格式对比,加减等等。
A:DateADD("类1",类2,“日期格式”)
解释:类1=M就是计算月,D是日,Y是年。
类2,是一个数字,整形数字,不能有小数点,可以是正负。
日期格式,这个不用怎么解释了。
例子:Dateadd("m",1,"2017-01-01"),Dateadd("m",-1,"2017-01-01")
结果:2017-02-01 2016-12-01
解释:在2017-01-01的日期上,增加(1)个(m)月,第二个是增加(-1)个月,或者说是减少一个月。
M可是换成Y,成为减少年,换成D,减少天数。
B:DateDiff (interval, Date1 , Date2)
interval={Y,Q,M,D,W,H,N,S}
分别是年,季度,月,日,星期,小时,分,秒等等。
例子:DateDiff("m","2016-01-01","2017-01-01")
结果:12个月,换成其他的,比如d=366天,比如h=8784小时,比如s=31622400秒
总结:
Cdate,Format 函数用来转换字符串到日期格式。
Year(),Month(),Day()获取字符串中的年份,月份,日
DadeAdd()将目标日期,增加或者减少指定数值的年月日等。
DateDiff()获取二个日期之间的时间差,而时间差根据指定参数获得。
其中Format("2017-1-1","aaaa")这个函数比较奇妙,结果是获取当前日期的星期,比如结果是【星期一】这样的中文结果,当然,这是因为我们的地区设置是中国,若是外国可能返回英语啊德语啊什么的。
不知道是否满足你的需求呢?若不能或者本人对命题理解错误,请回复我。
那么关于ACCESS的运用如下解释:
1:字符串转换日期格式
A类:CDATE函数转换,将字符串直接转换成日期。
例子:Print Cdate("1/1/2017")
结果:2017-01-01
B类:FORMAT函数转换
dim S as string
S="2017-1-1"
S="1/1/2017"
等等S类型,但是起码保证S字符串是日期响应内容,比如S="贰零壹柒年三月一日"看起来是日期,其实并非日期所需的字符串内容.
例子:Print Format(s,"YYYY-MM-DD")
后面的YYYY是年,YY是二位数的年,MM是二位数的月,一个M是不带0开头的月,DD同理。返回一个日期格式字符串。
------------------------------------------------------------
上诉是日期转换类,比较省事的是CDATE,比较自定义的是FORMAT,以比较另类的YEAR()函数+MONTH()函数=DAY()函数去获取字符串的对应年份,月份,日期。
下面说日期格式对比,加减等等。
A:DateADD("类1",类2,“日期格式”)
解释:类1=M就是计算月,D是日,Y是年。
类2,是一个数字,整形数字,不能有小数点,可以是正负。
日期格式,这个不用怎么解释了。
例子:Dateadd("m",1,"2017-01-01"),Dateadd("m",-1,"2017-01-01")
结果:2017-02-01 2016-12-01
解释:在2017-01-01的日期上,增加(1)个(m)月,第二个是增加(-1)个月,或者说是减少一个月。
M可是换成Y,成为减少年,换成D,减少天数。
B:DateDiff (interval, Date1 , Date2)
interval={Y,Q,M,D,W,H,N,S}
分别是年,季度,月,日,星期,小时,分,秒等等。
例子:DateDiff("m","2016-01-01","2017-01-01")
结果:12个月,换成其他的,比如d=366天,比如h=8784小时,比如s=31622400秒
总结:
Cdate,Format 函数用来转换字符串到日期格式。
Year(),Month(),Day()获取字符串中的年份,月份,日
DadeAdd()将目标日期,增加或者减少指定数值的年月日等。
DateDiff()获取二个日期之间的时间差,而时间差根据指定参数获得。
其中Format("2017-1-1","aaaa")这个函数比较奇妙,结果是获取当前日期的星期,比如结果是【星期一】这样的中文结果,当然,这是因为我们的地区设置是中国,若是外国可能返回英语啊德语啊什么的。
不知道是否满足你的需求呢?若不能或者本人对命题理解错误,请回复我。
2017-08-25 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
access中你这个问题可以采用变通方式
利用mid函数
例如:
select * from xx where mid(sdate,1,2)="09" and (mid(sdate,4,2)="11" or mid(sdate,4,2)="12")
利用mid函数
例如:
select * from xx where mid(sdate,1,2)="09" and (mid(sdate,4,2)="11" or mid(sdate,4,2)="12")
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用过那个数据库,我用access数据库的时候查询语句是这样的
Sqlstr = "select * from 销售详单 where 日期 >= #" + Format(DTPicker2.Value, "yyyy-mm-dd") + _
"# and 日期 <= #" + Format(DTPicker3.Value, "yyyy-mm-dd") + "#"
DTPicker3.Value是日历控件上选择的值
Sqlstr = "select * from 销售详单 where 日期 >= #" + Format(DTPicker2.Value, "yyyy-mm-dd") + _
"# and 日期 <= #" + Format(DTPicker3.Value, "yyyy-mm-dd") + "#"
DTPicker3.Value是日历控件上选择的值
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select ... from ... where datevalue(sdate)...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * FROM 表名 WHERE sdate>=#2012-9-11# And sdate<=#2012-9-12#
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询