以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]filter表达式求助(包含)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81719)

--  作者:rpg2813
--  发布时间:2016/3/4 10:39:00
--  [求助]filter表达式求助(包含)
手机发帖 tables(“表B.表A”).filter=“[多值字段]包含 \'AAA\'” 包含 这部分不知道怎么写 我试过用like不对(功能栏用类似不行,用包含可以,所以想请教包含怎么写?)
--  作者:rpg2813
--  发布时间:2016/3/4 10:40:00
--  
多值字段是“AAA,BBB,CCC”
--  作者:大红袍
--  发布时间:2016/3/4 10:43:00
--  
Tables("表B.表A").filter="[多值字段] Like \'%AAA%\'"
--  作者:大红袍
--  发布时间:2016/3/4 10:44:00
--  

精确一点

 

Tables("表B.表A").filter="(\',\' + [多值字段] + \',\') Like \'%,AAA,%\'"

[此贴子已经被作者于2016/3/4 10:44:07编辑过]

--  作者:rpg2813
--  发布时间:2016/3/4 12:19:00
--  
以下是引用大红袍在2016/3/4 10:43:00的发言:
Tables("表B.表A").filter="[多值字段] Like \'%AAA%\'"

谢谢为什么要加%?
--  作者:大红袍
--  发布时间:2016/3/4 14:24:00
--  

like的时候,就是要这个符号匹配的。

 

http://www.foxtable.com/help/topics/1647.htm

 


--  作者:rpg2813
--  发布时间:2016/3/4 15:24:00
--  
以下是引用大红袍在2016/3/4 14:24:00的发言:

like的时候,就是要这个符号匹配的。

 

http://www.foxtable.com/help/topics/1647.htm

 

我明白这个是通配符,现在的情况是 多值字段是“AAA”时 like “AAA”是可以的 多值字段是“AAA,BBB,CCC”时 like “AAA”什么都出不了来 必须有%,可是为什么要加通配符呢?
--  作者:rpg2813
--  发布时间:2016/3/4 15:26:00
--  
以下是引用大红袍在2016/3/4 10:44:00的发言:

精确一点

 

Tables("表B.表A").filter="(\',\' + [多值字段] + \',\') Like \'%,AAA,%\'"

[此贴子已经被作者于2016/3/4 10:44:07编辑过]

还有这个为什么要加,?
--  作者:大红袍
--  发布时间:2016/3/4 15:28:00
--  

比如你的字符串是 aaa,bbb,ccc

 

那么查询 a 或者 bb 或者 cc都能得到答案,如果限定必须是 aaa或bbb或ccc,就必须用逗号区分。


--  作者:rpg2813
--  发布时间:2016/3/4 15:37:00
--  
以下是引用大红袍在2016/3/4 15:28:00的发言:

比如你的字符串是 aaa,bbb,ccc

 

那么查询 a 或者 bb 或者 cc都能得到答案,如果限定必须是 aaa或bbb或ccc,就必须用逗号区分。

我的理解是:通配符%或*是为了让 like的字符串和多值字段的字符串长度一样?