关于时间查询的一个问题(100分)

  • 主题发起人 主题发起人 mount
  • 开始时间 开始时间
M

mount

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在一数据表中查到所需要的时间对应的数据。
sql语句的写法为select * from heng a
where (a."time"=:temp) and (a.id=:idtemp)
我的time为@型,为22:00:50,2000-11-07型。
对比的时间为‘2000-09-16 17:16:23’
我想把它转化为datetime型,可总显示为非日期格式。
而我
应该怎么做,才能找到结果?多谢,急
query1.Close;
query1.ParamByName('temp').asdatetime:=histtime1;
tempstr:=datetimetostr(histtime1);
query1.ParamByName('idtemp').asinteger:=10001;
query1.open;
query1.Refresh;
 
query1.close;
query1.sql.text := 'select * from heng a where (a."time"='''
+ FormatDateTime('HH:MM:SS YYYY-MM-DD', histtime1) + ''') and (a.id='
+ IntToStr(someid) + ')';
query1.open;
试试看!
 
明明数据库里有对应起来的数据,可总是差不到,是怎么回事?
 
用formatdatetime('格式',datetime)把日期格式化成你的日期格式,就可以了
如:yyyy 代表 年
mm 代表 月
dd 代表 日
自己查查帮助
 
在应用程序中更改ShortDateFormat和LongTimeFormat也可以更改格式!
用Convert也不错呀! ^-^
 
是不是比较的两者类型不同?
将字符串类型的用COPY函数拆开,然后用ENCODEDATE和ENCODETIME函数拼接成TDATETIME
类型的就可以了。
 
你的数据库中time是字符型的字段吧!
将时间类型转换为字符类型(与你的time相对应):
formatdatetime('hh:mm:ss"," yyyy/mm/dd',yourdatetime);这样得到的字符串形式就是
'17:16:23, 2000-09-16'
 
你将表中的DateTime 类型数据也转化为固定格式就不存在些类问题了可以这样写:
select * from heng a
where To_Char(a.time, 'hhmmssyyyymmdd')=To_Char(:temp, 'hhmmssyyyymmdd')
and ...
其中 To_Char() 为 ORACLE 支持的函数,视你所用数据库应使用相应函数替代
 
急!急!急!
本人在数据库录入时,时间字段没输任何值后,查询不知如何却不知如何查。
还请各位高手帮助,不忘送分
 
你的数据库是?
 
多人接受答案了。
 
后退
顶部