select left(帐日期,7)as 日期,sum(出帐数)as 每月进货小计 from dbZhangMu where 帐日期 BETWEEN :A and :B Group by left(帐日期,7 ))');
这条语句没问题,但是怎样控制新生成字段"日期"的大小,请看下面的写法:
select left(帐日期,7)as 日期 char(15),sum(出帐数)as 每月进货小计 from dbZhangMu where 帐日期 BETWEEN :A and :B Group by left(帐日期,7 ))');
我这样写就是出错,请问该怎样写呢?

解决方案 »

  1.   

    select left(帐日期,7)as 日期 char(15),sum(出帐数)as 每月进货小计 from dbZhangMu where 帐日期 BETWEEN :A and :B Group by left(帐日期,7 ))');
    这里left(帐日期,7)as 日期 char(15),可以用 convert(left(帐日期,7) as varchar(15))
      

  2.   

    DMForm.ZhangMuQuery.SQL.Add('select * into '+strM+' from(select convert(left(帐日期,7)as 日期 varchar(15)),sum(出帐数)as 每月进货小计,sum(入帐数)as 每月销售小计 from dbZhangMu where 帐日期 BETWEEN :A and :B Group by left(帐日期,7 ))');
      

  3.   

    以上是我按你的写法,但还是出错:不信你试一下,是ODBC语法错误!我用的是ACCESS数据库+BDE连接。
      

  4.   

    DMForm.ZhangMuQuery.SQL.Add('select * into '+strM+' from(select left(帐日期,7)as 日期,sum(出帐数)as 每月进货小计 from dbZhangMu where 帐日期 BETWEEN :A and :B Group by left(帐日期,7 ))');这样写是正确的,但不能定义字段“日期”的大小。
    搞了一天,快搞晕我了!
    strM,为用户自定义的表名。
      

  5.   

    为什么要定义日期字段的大小啊?? 
    能不能修改 query1.fields 的属性呢??
      

  6.   

    query1.fields['日期'].size:=15;
    这样写不行啊!
      

  7.   

    日期格式是不可以修改的呀.怎么学SQL的?