以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]datatable的Compute方法中如何设置过滤条件判断列中字符的长度  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40896)

--  作者:loongtai
--  发布时间:2013/10/5 15:27:00
--  [求助]datatable的Compute方法中如何设置过滤条件判断列中字符的长度
如表A的一列名称为“分类代码”,这列中代码长度有1位、2位,4位,7位,现在想计算这一列中字符串长度为1位的记录中的最大值,这个过滤条件该如何设置?
Datatable("表A").Compute("Max(分类代码)",“分类代码列的字符串长度为1”)

--  作者:有点甜
--  发布时间:2013/10/5 15:30:00
--  
 Datatable("表A").Compute("Max(分类代码)","分类代码 like \'?\'")
 Datatable("表A").Compute("Max(分类代码)","分类代码 like \'??\'")
 Datatable("表A").Compute("Max(分类代码)","分类代码 like \'???\'")
 

--  作者:loongtai
--  发布时间:2013/10/5 15:40:00
--  
我试了下怎么没有符合条件的行呢?
是不是字符长度设置的问题
图片点击可在新窗口打开查看此主题相关图片如下:截图00.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2013/10/5 15:47:00
--  
 呵呵,发觉?或者_都无效,你这样做吧,如下代码

msgbox(DataTables("表A").Select("len(第一列) = 1").count)
[此贴子已经被作者于2013-10-5 15:47:06编辑过]

--  作者:loongtai
--  发布时间:2013/10/5 15:51:00
--  
这样好用。但为什么
 Datatable("表A").Compute("Max(分类代码)","分类代码 like \'?\'")
无效呢?
看起来不挺有道理的吗?

--  作者:有点甜
--  发布时间:2013/10/5 16:00:00
--  
 应该是不支持单字符匹配吧。
--  作者:loongtai
--  发布时间:2013/10/5 16:01:00
--  
len(第一列) = 1,我想用这个,但不会写。对列的类似这种操作在帮助里哪有讲解?
--  作者:有点甜
--  发布时间:2013/10/5 17:05:00
--  
 呃,参考