在狐表提供的SQlGroupTableBuilder/SQlCrossTableBuilder,对于日期时间的处理不够友好。
很多时候,我就是想根据年月日汇总,得拆分为年→月→日3层表头统计,不能直接用 “yyyy-mm-dd”的格式。
又或者不处理DateGroupEnum.None
时分秒不能合并,导致不能按天合并统计
所以要巧妙利用Sql的Convert语法:CONVERT(date,你的纯日期列)
Dim g1 As New SQlCrossTableBuilder("g1", "销售记录") g1.ConnectionName = "DB" g1.Filter = filter g1.HGroups.AddDef("所属店铺") g1.HGroups.AddDef("站点") g1.HGroups.AddDef("链接") g1.VGroups.AddExp("销售日期", "CONVERT(date,销售日期)", "销售日期_{0}") g1.Totals.AddDef("销量") Dim t As Table = Tables(e.Form.Name & "_Table1") t.DataSource = g1.BuildDataSource
官方本身也是支持Sql混写,只不过没有明说
语法:CONVERT(varchar(7), CreateTime, 120)
Dim g1 As New SQLGroupTableBuilder("g1", "TemuPurchaseInfo") g1.ConnectionName = "DB" g1.Filter = filter g1.Groups.AddExp("CreateTime", "CONVERT(varchar(7), CreateTime, 120)") g1.Totals.AddDef("TotalQty") g1.Totals.AddDef("TotalPrice")