以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据转换请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55567)

--  作者:hbhb
--  发布时间:2014/8/19 12:36:00
--  数据转换请教
大师:好!
请问:如果表设置时将月份数据类型设置了字符型,求最大值时,下面的代码数据转换为何不对?,应该如何转换?
Dim Total As Long

Total = DataTables("订单").Compute("max(val(月份))", "产品 = \'PD01\'")
Output.Show(Total)


--  作者:Bin
--  发布时间:2014/8/19 14:03:00
--  
DataTables("订单").Compute("max(月份)""产品 = \'PD01\'")
--  作者:hbhb
--  发布时间:2014/8/19 15:35:00
--  
测试过了,1-12  求出的最大值为9,为何?
--  作者:Bin
--  发布时间:2014/8/19 15:37:00
--  
那就DataTables("订单").Compute("max(Convert([月份],\'System.Int32\'))""产品 = \'PD01\'")
--  作者:有点甜
--  发布时间:2014/8/19 15:37:00
--  
 你要改成数值列,不能用字符列。
--  作者:hbhb
--  发布时间:2014/8/19 16:20:00
--  
DataTables("订单").Compute("max(Convert([月份],\'System.Int32\'))""产品 = \'PD01\'")
--  作者:hbhb
--  发布时间:2014/8/19 16:20:00
--  
为何还是错误?
--  作者:有点甜
--  发布时间:2014/8/19 16:24:00
--  
 你要改成数值列,不能用字符列。

--  作者:hbhb
--  发布时间:2014/8/19 16:32:00
--  
改成数值列,其他与此相关的代码有无影响?
--  作者:有点甜
--  发布时间:2014/8/19 16:34:00
--  
没有影响。