问题 PY Lee · 七月 29, 2022 如何在Ensemble中对字段类型为GlobalCharacterStream进行字符串搜索? #Ensemble 如何在Ensemble中对字段类型为GlobalCharacterStream进行字符串搜索?String的可以搜索,但是Stream类型的就不行。 产品版本: Ensemble 2016.1
Jingwei Wang · 七月 29, 2022 你可以用SQL query : SUBSTRING 将字符流显示出来,然后用LIKE 进行条件搜索: 例如:这个例子中的 Notes就是%Stream.GlobalCharacter类型数据 SELECT Name ,SUBSTRING(Notes,1) FROM Sample.MyTable WHERE SUBSTRING(Notes ,1) LIKE '%First%'
Jingwei Wang 七月 31, 2022 to water huang 对,只能用SQL。也可以再ensemble里面的消息查看器里面查看,如果您是测试环境,可以用下面的方式。如果是生产环境,就要先测试一下了。注意:这个只支持3M以内的数据查看1. 新增一个类 Class iscru.interop.MsgFilterAssistant Extends EnsPortal.MsgFilter.Assistant { ClassMethod GetSQLCondition(pOperator As %String, pProp As %String, pValue As %String, pDisplay As %Boolean = 0, pNoIndex As %Boolean = 0) As %String { if (pValue = "") || ((pOperator '= "Like") && (pOperator '= "NotLike")) quit ##super(pOperator, pProp, pValue, pDisplay, pNoIndex) if ("%%" = $extract(pValue, *-2, *-1)) { set pValue = "'" _ $extract(pValue, 1, *-3) _ "' ESCAPE '" _ $extract(pValue, *) _ "'" } else { set pValue = "'" _ $replace(pValue, "'", "''") _ "'" } quit "substring(" _ pProp _ ", 1, 3000000) " _ $case(pOperator, "Like": "LIKE", "NotLike": "NOT LIKE") _ " " _ pValue } } 2. 在所在命名空间下执行: set ^EnsPortal.Settings("MessageViewer", "AssistantClass") = "<在步骤1所创建的类名>" 3. 在消息查看器中增加查询条件,使用LIKE。
你可以用SQL query : SUBSTRING 将字符流显示出来,然后用LIKE 进行条件搜索:
例如:这个例子中的 Notes就是%Stream.GlobalCharacter类型数据
SELECT Name ,SUBSTRING(Notes,1) FROM Sample.MyTable WHERE SUBSTRING(Notes ,1) LIKE '%First%'
ensemble里面的消息查看器里面,就不行了吧?或者可以自己修改那个页面的后端的查询吗
对,只能用SQL。
也可以再ensemble里面的消息查看器里面查看,如果您是测试环境,可以用下面的方式。如果是生产环境,就要先测试一下了。注意:这个只支持3M以内的数据查看
1. 新增一个类
2. 在所在命名空间下执行:
3. 在消息查看器中增加查询条件,使用LIKE。