咳!日期格式问题!

我的系统日期设置为 “dd/mm/yyyy”

语句
update t_test set inputdate=#10/01/2003# '输入日期2003年1月10日

然后
select month(inputdate) from t_test

得到
10

我该怎么办?
以上是我简化的问题,其实,我在vb里是用以下的语句:
"update t_test set inputdate=#" & cstr(date) & "#"
采用的是系统日期格式输入的,也发生同样的问题。

时间较紧,来不及自己查找答案了,拜托各位!给高分了!

---------------------------------------------------------------

update t_test set inputdate=#10/01/2003# '输入日期2003年10月1日这是access的标准格式,如果你使用“#...#”就是这样的,不论你的系统设置如何。

---------------------------------------------------------------

#2003-10-01#
---------------------------------------------------------------

其实非常简单,

access,应该说jet sql中只能产生标准的 #mm/dd/yyyy#的格式,然后在计算和显示的时候,access会根据系统的地区设置转换一下,所以这其中会有一些问题。这一点在access中的帮助里面已经详细叙述了。

所以,你在写sql语句时必须转换成mm/dd/yyyy的格式。
否则你只有一个选择,使用access的datevalue函数,但是必须注意的是:这个函数在 vba+access 以外的任何环境都无效。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus