一个菜鸟关于sql查询的问题(50分)

  • 主题发起人 主题发起人 toddler
  • 开始时间 开始时间
T

toddler

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用delphi开发oracle数据库,在adoquery的sql语句中是不是关于时间查询的默认格式
为‘dd-m月-yy’,我想在sql语句中查询格式为‘yyyy-mm-dd mm24:hh:mi’类型的时间,
请问如何实现。在时间格式这块我总是搞不懂。[:(]
 
adoquery 中时间格式并不固定,根据不同的数据库可能是:#yyyy-mm-dd#,也可能是'yyyy-mm-dd'。
如果用ora,何不写sp,用datatime类型做参数传递,更方便。
 
你先在BDE Adminitrator中所用到的DB中设置configuration的system项目中format下的date
和time就行,time的TWELVEHOUR:=false和date的MODE:=2;FOURDIGITYEAR:=TRUE;SEPARATOR:=-
就ok了!
 
使用参数比较好一点
with query1 do begin
close; sql.clear;
sql.add('select * from table1 where field1=:');
params[0].asdatetime:=aDatetime; //aDatetime是TDateTime类型
...
try open except end;
end
就可以了,使用参数很简单的
 
用 to_char 函数

with Query1 do
begin
Close;
SQL.Text := 'select * from table1 where to_char(date1,''YYYY-mm-dd mm24:hh:mi'')=' + QuotedStr('2002-12-1 23:11:11');
Open;
end;

或如楼上老兄说的,用参数

 
formatdatetime(yyyy_dd_mm,hh_mm_ss)
 
后退
顶部