select * from table_a where to_char(insert_time,'yyyymmdd')='20051108'
楼上的写法如果遇到大数据量的话,会让楼主的数据库歇B的。 select * from table where col1>=to_date('2005-11-08 00:00:00','YYYY-MM-DD HH24:MI:SS') and col1<=to_date('2005-11-08 23:59:59','YYYY-MM-DD HH24:MI:SS')
lcf79001(Delphi白痴) 说的那个方法不行,他老是出错说无效列名,怎么回事下面两种方法都不行. ADOQuery1.Close;ADOQuery1.sql.clear; ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,"yyyy-mm-dd")=:day'); ADOQuery1.Params.ParamByName('day').AsDate:=DateTimePicker1.Date; ADOQuery1.Open; ADOQuery1.Close;ADOQuery1.sql.clear; ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,"yyyy-mm-dd")=:day'); ADOQuery1.Params.ParamByName('day').AsString:=DateToStr(DateTimePicker1.Date); ADOQuery1.Open;
ADOQuery1.Close; ADOQuery1.sql.clear; ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,''yyyy-mm-dd'')=' + QuotedStr(DateToStr('yyyy-mm-dd',DateTimePicker1.Date))); ADOQuery1.Open;
是你在Delphi中调用不正确,一楼二楼提供的SQL语句并没有问题。
我按照楼上试了一下怎么出现了错误: There is no overloaded version of 'DateToStr' that can be called with these arguments
sorry,搞错一个函数,应该用FormatDateTimeADOQuery1.Close; ADOQuery1.sql.clear; ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,''yyyy-mm-dd'')=' + QuotedStr(FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date))); ADOQuery1.Open;
select * from table where col1>=to_date('2005-11-08 00:00:00','YYYY-MM-DD HH24:MI:SS') and col1<=to_date('2005-11-08 23:59:59','YYYY-MM-DD HH24:MI:SS')
ADOQuery1.Close;ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,"yyyy-mm-dd")=:day');
ADOQuery1.Params.ParamByName('day').AsDate:=DateTimePicker1.Date;
ADOQuery1.Open; ADOQuery1.Close;ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,"yyyy-mm-dd")=:day');
ADOQuery1.Params.ParamByName('day').AsString:=DateToStr(DateTimePicker1.Date);
ADOQuery1.Open;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,''yyyy-mm-dd'')=' + QuotedStr(DateToStr('yyyy-mm-dd',DateTimePicker1.Date)));
ADOQuery1.Open;
There is no overloaded version of 'DateToStr' that can be called with these arguments
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from jjxx where to_char(jjsj,''yyyy-mm-dd'')=' + QuotedStr(FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date)));
ADOQuery1.Open;