insert into xxxx select count(xxxx),sum(xxx),... ,GETDATE() where xxx
我用的是interBase没有getDate()函数,有没有对应的呢?
now函数呢? 如果不行就用delphi的取时间函数,但这样插入进数据库的是客户机时间,很危险
不行的话用 CURRENT_TIMESTAMP 试试,不保证
with FrmDm.query4 do begin close; DataSet.Params.Clear; DataSet.Params.CreateParam(ftString,'Dat',ptInput); DataSet.Params.CreateParam(ftString,'DateStart',ptInput); DataSet.Params.CreateParam(ftString,'DateEnd',ptInput); DataSet.CommandText:='insert into MONTHTH(OFF,NAME,COUNTMONEY) select :Dat,Name,Sum(Moneyc) from PieceWork where OFF between :DateStart and :DateEnd group by Name'; DataSet.Params.ParamByName('Dat').AsString:=DateToStr(EncodeDate(Year,Month,1)-1); DataSet.Params.ParamByName('DateStart').AsString:= DateToStr(EncodeDate(Year,Month-1,1)); DataSet.Params.ParamByName('DateEnd').AsString:= DateToStr(EncodeDate(Year,Month,1)-1); Execute; end;我这要写哪里错了????
Demonia(彷徨 + 失业中……) 我用CURRENT_TIMESTAMP 得到的形式是1 may 2003 我要的希望是 2003-05-01怎么转换?
select count(xxxx),sum(xxx),... ,GETDATE() where xxx
如果不行就用delphi的取时间函数,但这样插入进数据库的是客户机时间,很危险
begin
close;
DataSet.Params.Clear;
DataSet.Params.CreateParam(ftString,'Dat',ptInput);
DataSet.Params.CreateParam(ftString,'DateStart',ptInput);
DataSet.Params.CreateParam(ftString,'DateEnd',ptInput);
DataSet.CommandText:='insert into MONTHTH(OFF,NAME,COUNTMONEY) select :Dat,Name,Sum(Moneyc) from PieceWork where OFF between :DateStart and :DateEnd group by Name';
DataSet.Params.ParamByName('Dat').AsString:=DateToStr(EncodeDate(Year,Month,1)-1);
DataSet.Params.ParamByName('DateStart').AsString:= DateToStr(EncodeDate(Year,Month-1,1));
DataSet.Params.ParamByName('DateEnd').AsString:= DateToStr(EncodeDate(Year,Month,1)-1);
Execute;
end;我这要写哪里错了????