以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]LIKE匹配通配符的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98620) |
-- 作者:hiliuyong -- 发布时间:2017/4/2 15:54:00 -- [求助]LIKE匹配通配符的问题 比如 ?“我是老王” LIKE "*老王*" 返回是TRUE 这是个匹配“老王”这个字,语法没有问题 但是 ?“[配置信息]” like "*[*" 我是想匹配里面含 [ 这个字符的 语法报错 是不是[ 是正则语法的问题 如果是,我还是想匹配这个符号,改如何做呢?
|
-- 作者:rambowhuang -- 发布时间:2017/4/2 16:06:00 -- 参考一下! SQL表达式的语法差异 Foxtable中所有和动态加载的相关的属性和方法,包括那些直接统计或处理后台数据的方法,其条件表达式的语法均为SQL语法,且表达式中的表名和列名必须和后台数据库保持一致。 1、不能使用*作为通配符,只能使用%作为通配符,例如: DataTables("客户").LoadFilter = "公司名称 Like
\'%贸易%\'" 2、 如果数据源是SQL Server,日期用单引号括起来,而不是用#,例如: DataTables("订单").LoadFilter = "日期 = \'" & Date.Today
& "\'" 如果是内部表或Access数据源,日期还是用符号#括起来: DataTables("订单").LoadFilter = "日期 = #" & Date.Today
& "#" 3、SQL Server中的逻辑列,用0表示False,1表示True,例如加载已经结账的订单: DataTables("订单").LoadFilter = "结账 = 1" 如果是如果是内部表或Access数据源,还是用True和False表示逻辑值,例如: DataTables("订单").LoadFilter = "结账 =
True" 4、常规表达式的函数非常有限,而SQL的函数更加丰富,但是不同的数据源,函数有些差别。 如果是内部表或Access数据源,可以使用以下函数: 如果用Compute统计,表达式会长很多,而且必须已经加载2013年的全部数据: Dim Val
As
Integer
|
-- 作者:有点色 -- 发布时间:2017/4/2 19:37:00 -- msgbox("[配置信息]" Like "*[*".replace("[", "[[]"))
特殊字符,要加上 [特殊字符] |
-- 作者:hiliuyong -- 发布时间:2017/4/3 10:25:00 -- 牛,谢谢你! |