sql计算指定月(50分)

  • 主题发起人 主题发起人 ro118yt
  • 开始时间 开始时间
R

ro118yt

Unregistered / Unconfirmed
GUEST, unregistred user!
select sum(atu) as num from 好大一张表 where datediff(MM,time,getdate())=0 计算当月
如果我想指定计算edit1.text年edit2.text月的该怎么写
 
把edit1和edit2的值得组合成这样的格式2008-4-8
 
字符串到DATETIME转化时发生错误?
是不是日期格式不是‘-’?
 
是-啊 2008-4-9
 
另外:
如果我想指定计算edit1.text年edit2.text月的该怎么写?
select sum(atu) as num from 好大一张表 where datepart(MM,time)=edit2.text中的月and datepart(YY,time)=edit1.text中的年
 
前缀列'edit2'与查询中所用表名或别名不匹配 datepart(MM,time)=edit2.text 这样写对吗 是不是要注意格式怎么写
 
要改成这样。
var da:Tdatetime;
da:=strtodate(edit1.text+'-'+edit2.text+'-2');//随便加个2号
sql.Add('select sum(atu) as num from 好大一张表 where datediff(MM,time,'''+datetostr(da)+''')=0');


with qry1 do begin
close;
sql.clear;
sql.add('select sum(atu) as num from 好大一张表 where datediff (MM,time,:param1)=0');
parameters.parambyname('param1').value=strtodate(edit1.text+'-'+edit2.text+'-2');
open;
end;
 
好大一张表 中有没有一个字段保存年月日的?
由就好办了
 
谢谢大家啊 已经解决
 
不需要生成一个日期,直接用datepart函数就行了啊
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
876
import
I
后退
顶部