access数据库的时间日期查询难题Word文档格式.docx
- 文档编号:19253930
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:9
- 大小:23.07KB
access数据库的时间日期查询难题Word文档格式.docx
《access数据库的时间日期查询难题Word文档格式.docx》由会员分享,可在线阅读,更多相关《access数据库的时间日期查询难题Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
formatdatetime('
yyyy-mm-dd
HH:
MM:
SS'
yourrq1.datetime)+
and
rq2
...
回复3:
access数据库中时间的格式是“日期/时间”,可能和zxw111111(秋风)兄说的没错,但程序是在客户那里用的,不在同一个城市,所以看能否在自己的程序里经过处理,能自动的转换过来进而能查询。
现在很急,老兄多帮我想想,顶一下也行!
我会感谢你的
回复4:
没高手帮我整整啊?
回复5:
你的是XP系统吗?
可以在控制面板中把日期类型改掉,不要让它显示为这种格式。
回复6:
我用的是C++
Builder
,你自己转换成Delphi
吧:
可以这样:
AnsiString
s1
=
DateTimePicker1->
TimeString();
//
保存时间的DateTimePicker
s2
DateString();
保存日期的DateTimePicker
//
这里把s1,
格式化成hh:
mm:
ss
以及YYYY-MM-DD
的格式,略
sql;
if(s1
>
"
120000"
)//
{
TDateTime
dt1(DateTimePicker1->
TimeString());
dt2("
12:
00:
00"
);
dt3
dt1
-
dt2;
sql
AccessTable
TimeField
"
+
下午"
dt3->
TimeString()
'
;
}
else
上午"
}
回复7:
if(s1
更正:
if(s1>
)//下午
回复8:
自己好好想想啊....问题不是很难
回复9:
先留个记号
回复10:
to:
winstonbonaparte(捞月猴)
我用的是XP,客户用的就不知道是什么系统了。
对了,系统的时间格式如何改变啊?
回复11:
现在的问题是,如果是下午04:
49,系统时间显示是“下午
04:
49”,获取DateTimePicker的时间是“04:
49”,而不是“16:
49”,很郁闷。
。
回复12:
DateSeparator
:
/'
LONGDATEFORMAT:
='
MM/dd/yyyy
在CREATE里将日期格式化为如上
想来总可以了吧!
回复13:
我遇到过类似的问题。
Access支持一个函数叫CDate()
所以可以这样写:
mySQLStr:
Select
Table1
时间>
Date('
+TimeToStr(DateTimePicker1.Datetime)+'
)'
回复14:
----------------------------------
更改你的计算机上的时间显示格式为24小时制!
回复15:
顶
回复16:
回hugoon(hugoon)
XP系统在'
控制面板-区域和语言设置-自定义-日期'
这里设定.
我同事有台电脑是XP系统,结果在运行我们程序时也碰到这种问题,系统老是自动加上上午下午的,
2000的就不会有这个问题.
回复17:
谢谢各位大老给我出谋划策!
我现在问题还没有解决,我先问问各位大老,时间能比较吗?
我怎么在数据库里使用“select
person
birthday
2005-06-06
14:
56:
53.000”,其中“2005-06-06
53.000”是数据库拷贝的都无法完成查询,报错:
服务器:
消息
170,级别
15,状态
1,行
1
第
行:
14'
附近有语法错误。
其中birthday是datetime格式的
回复18:
我想先把时间能不能比较的问题解决,如果能比较大小就再往下做
回复19:
哈,我来了,我做了几个软件都是access的,这方面有点感悟呀
在delphi中,日期时间实际上都是浮点型数据
Delphi
syntax:
type
Double;
所以,我们不管在access中什么样的格式来显示时间,只要是时间类型,我们都可以在delphi中用把它转换成浮点类型比较
var
sqlstr:
string;
mydataset:
Tdataset;
………
=format("
between
%f
%f"
[DateStart.DateTime,DateEnd.DateTime+1]);
………………
=execsql(sqlstr);
不知道明白了我的意思没有
回复20:
angelwings(天使之翼)
说的有理。
如果你怕参数问题
就用delphi参数引用
比如
select
a
F1
F1
然后用
paramsbyname之类方法
其实,access数据库日期与众不同,一般日期格式是
2005-07-24'
access要写成
#2005-07-24#
回复21:
to:
angelwings(天使之翼),我不是名你的指教,请你写详细点吗?
最好在你机器上测试一下,可以吗?
我会一点ADOQuerey,其他的还是很菜的。
回复22:
例如:
adoquery.sql.add('
tb_test
f_date
mydate'
adoquery.paramerts.paramsbyname('
).value
DateTimePicker.date;
-----------------
大概是这样,可能有些地方拼错了,因为没有Delphi在机器里。
不好意思,你自己试试
回复23:
very
good
!
问题解决:
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('
tab
dat
bb
cc
order
by
dat'
ADOQuery2.Parameters.ParamByName('
bb'
).Value
DateTimePicker1.DateTime;
cc'
DateTimePicker2.DateTime;
不过还是有一个小问题,当选择的时间段是某月1号到2号,结果出来的不包含2号的,用
<
也不行,不知道为什么。
不过不妨碍我给大家送分,以后请多关照!
回复24:
with
ADOQuery2
do
begin
close;
sql.text
dat>
#2005-10-20
12:
:
00#
open;
end;
用这样的方法查。
IT开发资讯中心
首页|.Net|Java|asp|MS-Sql|VC/MFC|C/C++|Delphi|VB|Oracle|Windows|Linux/Unix|PowerBuilder|Office|灌水
请问:
如何把日期型类型数据插入表数据字段中?
如:
insert
into
temp(xx)
values
(xx)
其中
xx:
2003-5-20
16:
24:
00'
50、回复次数:
8
回复:
1
1、xx为日期型字段
2、Datetimetostr();
2
你的方法好像可以啊。
3
但是执行后总说24:
00格式不对,何解?
4
Access数据库:
ADOQuery1.Text
INSERT
INTO
temp(日期)
VALUES(#'
xx
#)'
SQL
Server数据库
VALUES('
QuotedStr(xx)
5
Q:
但是执行后总说24:
d
TDateTime;
StrToDateTime('
DateToStr(d);
//Access数据库:
//SQL
6
......
StrToDateTime(xx);
......
7
我是Foxpro数据库
Datetimetostr();
可能不支持16:
00时间格式,它只能转换2003-5-20这种
一个很菜的问题:
如何获得两个日期时间型数据之差。
我有两个日期时间型数据
一个是dt1:
=StrToDateTime('
2003-8-1
23:
34'
)
另一个是dt2:
2004-9-12
8:
03'
如何获取它们之间的时差?
要求返回结果是秒级的,如156846(秒)。
我试了几次,好象只能日期减日期型,时间减时间型,而且返回值也不是很方便进行下一步处理。
请高手帮助。
20、回复次数:
6
直接相减就好了
要返回秒的用SecondsBetween函数好了
日期是double型的,直接相减就可以了~
SecondsBetween在哪个函数库里?
我没有找到这个函数.我用的是D5
直接相减后得到的浮点数是以什么为单位的,天?
小时?
还是别的什么东东。
多谢各位相助这个问题我搞定了,如porkpig所讲.然后乘以86400(一天的秒数)取整即可。
关于两个日期之间的相差天数的问题!
急!
假设我有两个DateTimePicker,分别选取了两个时间,我想算出这两个时间的相差天数,怎么算啊?
如果能算的出,这个天数是什么型的啊?
我用:
DateTimePicker1.Date
DateTimePicker2.Date;
好像不能直接相减的,用
Int(DateTimePicker1.Date)
Int(DateTimePicker2.Date)
也试过,可是都出错!
为什么?
?
8
trunc(DateTimePicker1.Date
DateTimePicker2.Date);
用trunc(datetimepicker1.date-datetimepicker2.date)
DateTimePicker1.Date
DateTimePicker2.Date返回值是一个浮点数,
int(DateTimePicker1.Date)
Int(DateTimePicker2.Date)肯定不行因为日期是浮点型的,INT()就会对其取整导致不正确。
可用如下:
i:
=trunc(DateTimePicker1.Date
返回的i值就是天数,可正可负。
Unit
DateUtils
Category
date/time
routines
function
DaysBetween(const
ANow,
AThen:
TDateTime):
Integer;
Description
Call
DaysBetween
to
obtain
the
difference,
in
days,
two
values.
counts
only
whole
days
that
have
elapsed.
Thus,
reports
difference
Dec
31,
1999
11:
59
PM
Jan
1,
2000
58
as
0
because
is
one
minute
short
of
an
entire
day.
同意
wulhong
的说法,
就不多说了
DaysBetween(const
Integer
DaysBetween是不是只能求某个时间与单前时间之间的天数哪?
关注!
SIGH,都说到这份上了,放心用吧,DaysBetween能够满足你的要求了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- access 数据库 时间 日期 查询 难题